ArchLinux 2016.09.03 SSD+HDD 安装 UEFI/GPT
archlinux吧
全部回复
仅看楼主
level 12
ZOXIO 楼主
1L。。。。[滑稽]
2016年09月19日 02点09分 1
level 12
ZOXIO 楼主
[启动]
BIOS关闭安全启动
推荐Windows下用ISO2USB写入iso到U盘,FAT32,arch直接解压缩iso文件uefi无法启动
USB Live 引导后
更新系统时间
# timedatectl set-ntp true
[分区]
方案:SSD sda, sda1 esp vfat, sda2 root ext4; HDD sdb, sdb1 home ext4; UEFI/GPT,4k对齐
# lsblk #查看分区挂载情况
用parted工具分区,也可用其它分区工具,如cfdisk,cgdisk,等
# parted /dev/sda
(parted) mklabel gpt #建立gpt分区表
(parted) mkpart esp fat32 1MiB 513MiB #建立esp分区,大小为512MiB
(parted) mkpart root ext4 513MiB 100% #建立根分区,大小为剩余所有空间
(parted) set 1 boot on #设置第一个分区即sda1为可启动
quit #退出
# parted /dev/sdb
(parted) mklabel gpt #建立gpt分区表
(parted) mkpart home ext4 1MiB 100% #建立home分区,大小为所有空间
quit #退出
# lsblk #再次查看分区挂载情况
[格式化]
# mkfs.vfat -F 32 /dev/sda1 && mkfs.ext4 /dev/sda2 && mkfs.ext4 /dev/sdb1
[挂载]

# mkdir /mnt/esp #
建立esp分区挂载目录

# mkdir /mnt/home #
建立home分区挂载目录

# mount /dev/sda2 /mnt #
挂载根分区到sda2

# mount /dev/sda1 /mnt/esp #
挂载esp分区到sda1

# mount /dev/sdb1 /mnt/home #
挂载home分区到sdb1
注意挂载顺序,根分区一定要先挂载
[安装]
# nano /etc/pacman.d/mirrorlis #配置源,这个配置会自动复制到安装好的系统中
使用alt+6复制行 ctrl+u粘贴行
复制需要的源到最上面的注释下边,如163源
# pacstrap /mnt base base-devel #安装基本系统
[配置]
# genfstab -U -p /mnt > /mnt/etc/fstab #生成fstab
# cp /mnt/etc/fstab /mnt/etc/fstab.bak #备份fstab

# nano /mnt/etc/fstab #
编辑fstab
SSD加入参数discard
把esp的相关内容移到最上边,ctrl+k剪切行,alt+6粘贴行

# arch-chroot /mnt #
chroot到目标系统
本地化设置

# nano /etc/locale.gen #
编辑locale.gen文件
en_US.UTF-8 UTF-8 #去掉注释
zh_CN.UTF-8 UTF-8 #去掉注释

# locale-gen #
生成指定的本地化文件
# echo LANG=en_US.UTF-8 > /etc/locale.conf #提交本地化选项
# echo FONT=Lat2-Terminus16 > /etc/vconsole.conf #修改终端字体
# cp /etc/pacman.conf /etc/pacman.conf.bak
# nano /etc/pacman.conf #启用pacman彩色显示
去掉Color前面的注释
时区
# tzselect #查看可用的时区配置
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #设置当前时区为Shanghai
# hwclock --systohc --utc #设置硬件时钟为UTC
减小内核体积
# cp /etc/mkinitcpio.conf /etc/mkinitcpio.conf.bak #备份mkinitcpio.conf文件
# nano /etc/mkinitcpio.conf #编辑
默认使用gzip压缩,去掉xz前面的注释,使用xz压缩内核,减小内核文件体积
# mkinitcpio -p linux
这一步可以根据需要省略
设置root密码
# passwd
设置主机名
# echo myhostname > /etc/hostname #myhostname替换为需要的名字,区分大小写
# cp /etc/hosts /etc/hosts.bak #备份host文件
#nano /etc/hosts #编辑/etc/hosts 添加同样的主机名
#
127.0.0.1 localhost.localdomain localhost myhostname
::1 localhost.localdomain localhost myhostname
启用有线网卡DHCP(ip link 查看网卡设备名)
# systemctl enable dhcpcd@enp2s0
配置启动
复制内核文件到esp分区
# cp /boot/vmlinuz-linux /esp/vmlinuz-linux
# cp /boot/initramfs-linux.img /esp/initramfs-linux.img
# cp /boot/initramfs-linux-fallback.img /esp/initramfs-linux-fallback.img
安装并更新efi启动文件
# bootctl --path=/esp install
# bootctl --path=/esp update
编辑启动文件
# nano /esp/loader/loader.conf
default arch-*
timeout 3
editor 0
# nano /esp/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw
使用 blkid -s PARTUUID -o value /dev/sdxY 找到某个分区的PARTUUID, 'x' 和 'Y' 分别是磁盘和分区编号

# exit #
退出chroot环境
# umount -R /mnt #卸载所有已挂载的分区
# reboot #重启
启动进去基本系统之后用root登录
启用ntp自动更新时间
# timedatectl set-ntp true
# pacman -Syu
添加用户
# useradd -m myname
# passwd myname #设置密码
配置sudo
# EDITOR=nano visudo
用户名添加到root下,格式和root一样
安装GNOME #其他桌面环境自行参考
# pacman -S gnome #只安装GNOME的基本环境
# pacman -S gedit file-roller gnome-tweak-tool p7zip #安装文本编辑器,归档管理器,优化工具,7zip解压缩支持
# pacman -S wqy-zenhei #安装文泉驿正黑字体
# pacman -S ibus-rime #安装ibus小狼毫输入法
# pacman -S xf86-video-*** #安装显卡驱动ati,intel,nouveau,A卡I卡推荐开源驱动,N卡推荐闭源驱动
# pacman -S mesa-demos mesa-vdpau vdpauinfo #安装其它需要的包
# systemctl enable gdm #GDM启用
# systemctl enable NetworkManager #网络启用
# reboot #重启
SSD IO调度优化,使用noop,或deadline而不是默认的cfq
cat /sys/block/sdX/queue/scheduler # 查看当前的调度器,X是应用变更的设备
# nano /etc/udev/rules.d/60-schedulers.rules
# set noop scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="noop"
建立交换文件
不要放在SSD分区,这里放在home分区,大小为2GB,并设为隐藏文件
# fallocate -l 2048M /home/.swapfile #建立
# chmod 600 /home/.swapfile #设置权限
# mkswap /home/.swapfile #生成
# swapon /home/.swapfile #启用
设置开机启自动启用swapfile文件,编辑fstab,加入以下内容
/home/.swapfile none swap defaults 0 0
设置swap优先级
# gedit /etc/sysctl.d/90-swappiness.conf
vm.swappiness=1
自动更新esp内核文件
# gedit /etc/systemd/system/efistub-update.path
[Unit]
Description=Copy EFISTUB Kernel to UEFISYS Partition
[Path]
PathChanged=/boot/initramfs-linux-fallback.img
[Install]
WantedBy=multi-user.target
WantedBy=system-update.target
gedit /etc/systemd/system/efistub-update.service
[Unit]
Description=Copy EFISTUB Kernel to UEFISYS Partition
[Service]
Type=oneshot
ExecStart=/usr/bin/cp -f /boot/vmlinuz-linux /esp/vmlinuz-linux
ExecStart=/usr/bin/cp -f /boot/initramfs-linux.img /esp/initramfs-linux.img
ExecStart=/usr/bin/cp -f /boot/initramfs-linux-fallback.img /esp/initramfs-linux-fallback.img
# systemctl enable system-update.path
字体渲染配置文件
$ gedit ~/.fonts.conf





96




rgb




true




hintnone




true




true





lcddefault


~/.fonts

推荐安装Noto字体
# pacman -S noto-fonts-cjk
OVER
GNOME推荐插件
Arch Linux Updates Indicator Arch更新提示器
Dash to Dock 智能Dock栏
Dynamic Panel Transparency 顶栏沉浸(最大化黑色,窗口透明)
Freon 硬件温度请安装lm_sensors
Frippery Move Clock 移动时间位置
Minimize All 所有窗口最小化
NetSpeed 实时网速
OpenWeather 天气
ShutdownTimer 定时关机
Volume Mixer 音频程序单独音量管理
2016年09月19日 02点09分 2
level 12
ZOXIO 楼主
[启动]
BIOS关闭安全启动
推荐Windows下用ISO2USB写入iso到U盘,FAT32,arch直接解压缩iso文件uefi无法启动
USB Live 引导后
更新系统时间
# timedatectl set-ntp true
[分区]
方案:SSD sda, sda1 esp vfat, sda2 root ext4; HDD sdb, sdb1 home ext4; UEFI/GPT,4k对齐
# lsblk #查看分区挂载情况
用parted工具分区,也可用其它分区工具,如cfdisk,cgdisk,等
# parted /dev/sda
(parted) mklabel gpt #建立gpt分区表
(parted) mkpart esp fat32 1MiB 513MiB #建立esp分区,大小为512MiB
(parted) mkpart root ext4 513MiB 100% #建立根分区,大小为剩余所有空间
(parted) set 1 boot on #设置第一个分区即sda1为可启动
quit #退出
# parted /dev/sdb
(parted) mklabel gpt #建立gpt分区表
(parted) mkpart home ext4 1MiB 100% #建立home分区,大小为所有空间
quit #退出
# lsblk #再次查看分区挂载情况
[格式化]
# mkfs.vfat -F 32 /dev/sda1 && mkfs.ext4 /dev/sda2 && mkfs.ext4 /dev/sdb1
[挂载]

# mkdir /mnt/esp #
建立esp分区挂载目录

# mkdir /mnt/home #
建立home分区挂载目录

# mount /dev/sda2 /mnt #
挂载根分区到sda2

# mount /dev/sda1 /mnt/esp #
挂载esp分区到sda1

# mount /dev/sdb1 /mnt/home #
挂载home分区到sdb1
注意挂载顺序,根分区一定要先挂载
[安装]
# nano /etc/pacman.d/mirrorlis #配置源,这个配置会自动复制到安装好的系统中
使用alt+6复制行 ctrl+u粘贴行
复制需要的源到最上面的注释下边,如163源
# pacstrap /mnt base base-devel #安装基本系统
[配置]
# genfstab -U -p /mnt > /mnt/etc/fstab #生成fstab
# cp /mnt/etc/fstab /mnt/etc/fstab.bak #备份fstab

# nano /mnt/etc/fstab #
编辑fstab
SSD加入参数discard
把esp的相关内容移到最上边,ctrl+k剪切行,alt+6粘贴行

# arch-chroot /mnt #
chroot到目标系统
本地化设置

# nano /etc/locale.gen #
编辑locale.gen文件
en_US.UTF-8 UTF-8 #去掉注释
zh_CN.UTF-8 UTF-8 #去掉注释

# locale-gen #
生成指定的本地化文件
# echo LANG=en_US.UTF-8 > /etc/locale.conf #提交本地化选项
# echo FONT=Lat2-Terminus16 > /etc/vconsole.conf #修改终端字体
# cp /etc/pacman.conf /etc/pacman.conf.bak
# nano /etc/pacman.conf #启用pacman彩色显示
去掉Color前面的注释
时区
# tzselect #查看可用的时区配置
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #设置当前时区为Shanghai
# hwclock --systohc --utc #设置硬件时钟为UTC
减小内核体积
# cp /etc/mkinitcpio.conf /etc/mkinitcpio.conf.bak #备份mkinitcpio.conf文件
# nano /etc/mkinitcpio.conf #编辑
默认使用gzip压缩,去掉xz前面的注释,使用xz压缩内核,减小内核文件体积
# mkinitcpio -p linux
这一步可以根据需要省略
设置root密码
# passwd
设置主机名
# echo myhostname > /etc/hostname #myhostname替换为需要的名字,区分大小写
# cp /etc/hosts /etc/hosts.bak #备份host文件
#nano /etc/hosts #编辑/etc/hosts 添加同样的主机名
#
127.0.0.1 localhost.localdomain localhost myhostname
::1 localhost.localdomain localhost myhostname
启用有线网卡DHCP(ip link 查看网卡设备名)
# systemctl enable dhcpcd@enp2s0
配置启动
复制内核文件到esp分区
# cp /boot/vmlinuz-linux /esp/vmlinuz-linux
# cp /boot/initramfs-linux.img /esp/initramfs-linux.img
# cp /boot/initramfs-linux-fallback.img /esp/initramfs-linux-fallback.img
安装并更新efi启动文件
# bootctl --path=/esp install
# bootctl --path=/esp update
编辑启动文件
# nano /esp/loader/loader.conf
default arch-*
timeout 3
editor 0
# nano /esp/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw
使用 blkid -s PARTUUID -o value /dev/sdxY 找到某个分区的PARTUUID, 'x' 和 'Y' 分别是磁盘和分区编号

# exit #
退出chroot环境
# umount -R /mnt #卸载所有已挂载的分区
# reboot #重启
启动进去基本系统之后用root登录
启用ntp自动更新时间
# timedatectl set-ntp true
# pacman -Syu
添加用户
# useradd -m myname
# passwd myname #设置密码
配置sudo
# EDITOR=nano visudo
用户名添加到root下,格式和root一样
安装GNOME #其他桌面环境自行参考
# pacman -S gnome #只安装GNOME的基本环境
# pacman -S gedit file-roller gnome-tweak-tool p7zip #安装文本编辑器,归档管理器,优化工具,7zip解压缩支持
# pacman -S wqy-zenhei #安装文泉驿正黑字体
# pacman -S ibus-rime #安装ibus小狼毫输入法
# pacman -S xf86-video-*** #安装显卡驱动ati,intel,nouveau,A卡I卡推荐开源驱动,N卡推荐闭源驱动
# pacman -S mesa-demos mesa-vdpau vdpauinfo #安装其它需要的包
# systemctl enable gdm #GDM启用
# systemctl enable NetworkManager #网络启用
# reboot #重启
SSD IO调度优化,使用noop,或deadline而不是默认的cfq
cat /sys/block/sdX/queue/scheduler # 查看当前的调度器,X是应用变更的设备
# nano /etc/udev/rules.d/60-schedulers.rules
# set noop scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="noop"
建立交换文件
不要放在SSD分区,这里放在home分区,大小为2GB,并设为隐藏文件
# fallocate -l 2048M /home/.swapfile #建立
# chmod 600 /home/.swapfile #设置权限
# mkswap /home/.swapfile #生成
# swapon /home/.swapfile #启用
设置开机启自动启用swapfile文件,编辑fstab,加入以下内容
/home/.swapfile none swap defaults 0 0
设置swap优先级
# gedit /etc/sysctl.d/90-swappiness.conf
vm.swappiness=1
自动更新esp内核文件
# gedit /etc/systemd/system/efistub-update.path
[Unit]
Description=Copy EFISTUB Kernel to UEFISYS Partition
[Path]
PathChanged=/boot/initramfs-linux-fallback.img
[Install]
WantedBy=multi-user.target
WantedBy=system-update.target
gedit /etc/systemd/system/efistub-update.service
[Unit]
Description=Copy EFISTUB Kernel to UEFISYS Partition
[Service]
Type=oneshot
ExecStart=/usr/bin/cp -f /boot/vmlinuz-linux /esp/vmlinuz-linux
ExecStart=/usr/bin/cp -f /boot/initramfs-linux.img /esp/initramfs-linux.img
ExecStart=/usr/bin/cp -f /boot/initramfs-linux-fallback.img /esp/initramfs-linux-fallback.img
# systemctl enable system-update.path
推荐安装Noto字体
# pacman -S noto-fonts-cjk
OVER
GNOME推荐插件
Arch Linux Updates Indicator Arch更新提示器
Dash to Dock 智能Dock栏
Dynamic Panel Transparency 顶栏沉浸(最大化黑色,窗口透明)
Freon 硬件温度请安装lm_sensors
Frippery Move Clock 移动时间位置
Minimize All 所有窗口最小化
NetSpeed 实时网速
OpenWeather 天气
ShutdownTimer 定时关机
Volume Mixer 音频程序单独音量管理
2016年09月19日 02点09分 3
错误更正 原文 # systemctl enable system-update.path 更改为 # systemctl enable efistub-update.path
2016年10月19日 09点10分
level 12
ZOXIO 楼主
字体渲染配置文件
$ gedit ~/.fonts.conf
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<match target="pattern">
<edit mode="assign" name="dpi">
<double>96</double>
</edit>
</match>
<match target="font">
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintnone</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="autohint">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="lcdfilter">
<!-- The »lcddefault« filter will work for most users.
Other filters are available that can be used in
special situations: »lcdlight«; a lighter filter
ideal for fonts that look too bold or fuzzy,
»lcdlegacy«, the original Cairo filter; and
»lcdnone« to disable it entirely. -->
<const>lcddefault</const>
</edit>
</match>
<dir>~/.fonts</dir>
</fontconfig>
2016年09月19日 02点09分 4
level 1
写得很好,支持下
2016年09月19日 15点09分 6
level 10
========有关pacman的补充,选择最优服务器安装yaourt==============
# cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
# sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist.backup
# rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist
编辑/etc/pacman.conf
!!!!!!64位系统请去掉[multilib]的相关注释!!!!!!!
添加archlinuxfr
[archlinuxfr]
Server = http://repo.archlinux.fr/$arch
[sudo] pacman -S yaourt
=============UEFI下grub安装以及Intel的ucode补充=================
mount $esp $root_mount_point/boot
arch-chroot $root_mount_point
pacman -S grub efibootmgr
#如果你是Intel的CPU
pacman -S intel-ucode
grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=grub
grub-mkconfig - o /boot/gurb/grub.cfg
#bootctl启用ucode
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
====================有关SSD的补充==========================
编辑fstab
在ssd分区的option中新增noatime,discard选项
discard为启用TRIM支持,noatime为减少时间戳的写入,二者都可以起到延长SSD寿命的作用。
UUID=<UUID> / ext4 defaults,noatime,discard 0 2
UUID=<UUID> /home ext4 defaults,noatime,discard 0 2
其次交换分区是可以放在SSD里面的,一是现在的SSD寿命已经没有那么短了,二是当你内存达到4G的情况下,swap几乎就是用不到的。选项同上。
UUID=<UUID> none swap defaults,noatime,discard 0 2
如果你实在担心
# echo 1 > /proc/sys/vm/swappiness
这样会尽可能减少swap的写入
============推荐KDE,KDE是世界上最好用的DE没有之一============
yaourt -S plasma sddm kde-applications
[sudo] systemctl start sddm
2016年09月20日 06点09分 9
level 10
百度智障
2016年09月20日 06点09分 10
level 8
我就借着楼主水水[滑稽],没了新手教程。可以看看楼主的贴
2016年09月25日 07点09分 11
level 1
十分感谢楼主,我主要就是参照你的帖子把arch装起来了,只是帖子里有个小错误,mirrorlist你没有打t其他的很完美,多谢楼主,你的时间很宝贵
2016年09月25日 11点09分 12
不客气,谢谢指正,其实我更爱ubantu[哈哈]
2016年09月26日 10点09分
@ZOXIO 打错了 是ubuntu。。看来这个输入法不怎么好用。。得治一治。。
2016年09月26日 10点09分
[泪][泪]我在几十K几十K的拖。就这一步错了。
2016年10月06日 11点10分
level 1
为啥不截图⊙▽⊙,这样看起来好蛋疼
  ---
十五字
十五字十五字---
-
2016年09月27日 20点09分 13
level 4
为什么配置源哪里打开是空白?然后我跳过下一步,下载速度好慢[泪]
2016年10月06日 11点10分 14
路径没错?尽量用tab补齐
2016年10月06日 11点10分
回复 loser多态人生 :他给的教程里面少打了一个t[不高兴]
2016年10月06日 12点10分
回复 loser多态人生 :请问ssd哪里为什么A+6,无法粘贴?
2016年10月06日 12点10分
@蚀梦丶👻 什么鬼…ssd黏贴?
2016年10月06日 12点10分
level 1
小白的我看不懂,我是用VB挂载官网ISO文件做的,但是按照LZ命令来就真不行,下图
2016年10月07日 05点10分 15
硬盘模式是HDD的,按楼主来说parted不是ISO安装文件自带吗?(# parted /dev/sda ),测试partde命令测试....,然后是格式化命令
2016年10月07日 05点10分
@血腥来袭 parted空格/dev/sda
2016年10月07日 06点10分
新手命令丢空格系列
2016年10月10日 21点10分
level 1
我不知道是不是我命令输入问题,但就是卡在格式化和建立分区步骤上,楼主方法我是在VB上测试,ISO文件可读,
分区和格式化开不了好头,后续难测试,版本为中国区ARCH32位
2016年10月07日 05点10分 16
level 6
SSD为啥还要用ext4?
2016年10月07日 07点10分 17
ext4稳定,而且你可以看测试,ext4的综合性能很好,而且对ssd的trim支持也很好,当然也可以根据需要选择自己适合的文件系统。
2016年10月10日 13点10分
@ZOXIO f2fs不行么?
2016年10月10日 14点10分
1 2 尾页