年终整理 非官方系统安装流程 2016.12.01 UEFI+GPT
archlinux吧
全部回复
仅看楼主
level 12
ZOXIO 楼主
1L祭天。
2016年12月31日 03点12分 1
吧务
level 15
二楼等更
2016年12月31日 03点12分 2
level 12
ZOXIO 楼主
[启动]
主板关闭安全启动
推荐Windows下用ISO2USB写入iso到U盘,格式化为FAT32,arch直接解压缩iso文件某些主板可能无法启动,注意ISO2USB的U盘的卷标必须保留,否则无法启动
用UEFI方式启动USB Live,选择第一项进入Live系统
更新系统时间
# timedatectl set-ntp true
[分区] (具体怎么分区,请根据各自需求,以下提供一个实例) 不分交换分区,之后用交换文件替代
方案:SSD sda,sda1 esp fat32,sda2 root ext4;HDD sdb,sdb1 home ext4; GPT分区表
# lsblk #查看分区挂载情况 (不确定分区情况的时候可以随时用此命令查看)
以下用parted工具分区,也可用其它分区工具,如cfdisk,cgdisk,等,parted的好处是同时支持gpt和mbr,分区容量可以精确的用MiB的数值来划分,同时会自动4k对齐,更多资料参考官方Wiki
# parted /dev/sda
(parted) mklabel gpt #建立gpt分区表,出现交互时输入"Yes",如果是MBR分区表gpt替换为msdos
(parted) mkpart esp fat32 1MiB 513MiB #建立esp分区,UEFI必须,MBR不必划分,大小为512MiB
(parted) mkpart root ext4 513MiB 100% #建立根分区,大小为剩余所有空间
(parted) set 1 boot on #设置第一个分区即sda1为可启动
(parted) quit #退出
# parted /dev/sdb
(parted) mklabel gpt #建立gpt分区表
(parted) mkpart home ext4 1MiB 100% #建立home分区,大小为所有空间
(parted)quit #退出
# lsblk #再次查看分区挂载情况
[格式化] UEFI启动分区必须为fat32,其它分区选择ext4
# mkfs.fat -F 32 /dev/sda1 && mkfs.ext4 /dev/sda2 && mkfs.ext4 /dev/sdb1
[挂载] 注意建立目录和挂载的顺序,一定要先挂载根分区,然后再创建其它需要挂载的目录

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

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

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

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

# mount /dev/sdb1 /mnt/home #
挂载home分区到sdb1
[安装] 善用TAB补全
# nano /etc/pacman.d/mirrorlist #配置源,这个配置会自动复制到安装好的系统中
使用键盘快捷键Alt+6可以复制行当前的一整行,Ctrl+U粘贴,Ctrl+V下翻页,Ctrl+Y上翻页
复制需要的源到最上面的注释下边,如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
sda2是根分区,并且是SSD,为了开启trim功能,需要在下加入参数discard,和之前的参数一样,逗号隔开

# 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

# 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
# systemctl enable dhcpcd
<启动> 可选择systemd-boot或GRUB两种启动模式
1> 使用systemd-boot方式
复制内核文件到esp分区
# cp /boot/vmlinuz-linux /esp
# cp /boot/initramfs-linux.img /esp
# cp /boot/initramfs-linux-fallback.img /esp
安装并更新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
注:可以切换到tty2,使用blkid -s PARTUUID -o value /dev/sdxY找到某个分区的PARTUUID, 'x' 和 'Y' 分别是根分区的磁盘和分区编号,如sda2,记录下来,输入到上面的文件中
自动更新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 efistub-update.path
2> 使用GRUB
# pacman -S grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/esp --bootloader-id=grub
# grub-mkconfig -o /boot/grub/grub.cfg
关于启动管理器的配置,建议参阅官方Wiki
# exit #退出chroot环境
# umount -R /mnt #卸载所有已挂载的分区
# reboot #重启
==基础系统安装完成==
启动进入基本系统之后用root登录
# timedatectl set-ntp true #启用ntp自动更新时间
# pacman -Syu
添加用户
# useradd -m myname
# passwd myname #设置密码
配置sudo
# EDITOR=nano visudo
用户名添加到root ALL那一行下,格式和root的一样
桌面环境配置
# pacman -S mesa #安装显卡3D加速驱动,可选包:mesa-demos mesa-vdpau vulkan-intel vulkan-radeon
# pacman -S xf86-video-*** #安装显卡2D加速驱动 amdgpu,ati,intel,nouveau,nv 建议参考官方Wiki确定需要装的包,全部都装也没影响
# pacman -S gnome #安装GNOME的基本环境,其它桌面自行参考
# pacman -S gedit file-roller gnome-tweak-tool p7zip #安装文本编辑器,归档管理器,优化工具,7zip解压缩支持
# pacman -S wqy-zenhei wyq-microhei wyq-bitmapfont noto-fonts-cjk #安装字体
# pacman -S ibus-rime #安装ibus小狼毫输入法
# systemctl enable gdm #GDM启用
# systemctl enable NetworkManager #网络启用
# reboot #重启
[其它]
SSD IO调度优化,使用noop,或deadline而不是默认的cfq
$ cat /sys/block/sdX/queue/scheduler # 查看当前的调度器,X是应用变更的设备
# gedit /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"
建立交换文件
这里放在HDD分区,可以考虑放在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~100 #系统默认是60
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 音频程序单独音量管理
字体渲染优化配置文件
$ gedit ~/.fonts.conf





96




rgb




true




hintnone




true




true





lcddefault


~/.fonts

2016年12月31日 03点12分 3
手动抄PARTUUID很累啊[呵呵],我用vim的复制粘贴方便准确
2017年01月01日 14点01分
@好讨厌用户名哇 其实用grub也不错 说起来gnome3.22默认wayland有很多问题 有些软件不兼容 个别游戏也有问题 xwayland还是不完善
2017年01月01日 16点01分
@ZOXIO 双显卡与wayland无缘啊
2017年01月02日 05点01分
@好讨厌用户名哇 UUID累的话可以用label的
2017年01月03日 09点01分
level 12
ZOXIO 楼主
补充:
必装的一个多媒体播放插件:gst-libav
2016年12月31日 03点12分 4
level 7
mark参考
2017年01月01日 15点01分 5
level 13
我也分享下我的win10 arch双系统
2017年01月03日 09点01分 6
level 7
顶一下
2017年01月03日 16点01分 7
level 7
swap 那个配置文件我没有,新建一个就行了?
2017年01月05日 21点01分 8
level 10
写的不错
2017年01月05日 23点01分 9
level 10
该加精[呵呵][呵呵][呵呵]
2017年01月07日 12点01分 10
level 3
这个是gpt+uefi+lvm+双系统 安装配置 常见问题软件推荐大合集https://segmentfault.com/a/1190000008038177
2017年01月08日 15点01分 11
level 10
楼主,你双硬盘使用chrome系列有问题吗??
2017年01月09日 08点01分 12
level 1
2017年03月10日 03点03分 13
level 7
我也写了一个,MBR和GPT都有的教程[滑稽]https://yangxins.github.io/tutorial/mine/linux/howtoinstallarch/
2017年03月10日 04点03分 14
level 8
安装步骤和楼主差不多, 除了esp直接放在, boot目录
装完重启 没有进入linux boot,直接进入了windows 选都没得选。。。
装了几次都是这样 不知哪里弄错了?
2017年04月23日 15点04分 15
1 2 尾页