首先我觉得arch wiki的english和中文版本都写得不错,安装之前仔细看一遍还是有必要的。然后再到网上搜搜别人的安装教程/记录,一切就都搞定了。
============
安装时使用的语言和键盘布局设置,中文用户不需要
设置网络连接(没有网络就不要安装了)
# ip link
# ip addr
# dhcpcd
# ping -c 3 xxx.com
# iw dev
# iwconfig
# wifi-menu
# netctl / wpa_supplicant
==================
分区 格式化 挂载
这里首先要决定分区表类型是GPT还是MBR,然后选择不同的工具
# fdisk, gdisk, cfdisk, cgdisk, parted
# lsblk -f
--------------------------------
# mkfs.ext4 /dev/sdaX
swap区
# mkswap /dev/sdaX
# swapon /dev/sdaX
UEFI用户格式化ESP分区(整个硬盘全新安装才需要)
# mkfs.vfat -F32 /dev/sdaX
--------------------------------
注意要按照顺序挂载,先挂载根分区到/mnt
# mount /dev/sdaX /mnt
然后挂载/home分区和其余单独分区(/boot,/var等)
# mkdir /mnt/home
# mount /dev/sda2 /mnt/home
如果是UEFI主板,挂载UEFI分区
# mkdir -p /mnt/boot
# mount /dev/sdXY /mnt/boot
或者像这样挂载ESP分区
# mkdir -p /mnt/boot/efi
# mount /dev/sdaX /mnt/boot/efi
这里存在一个问题,关于ESP分区的挂载点问题。见此贴的讨论:
EFI System Partition mount point
后面一种挂载的ESP分区安装grub后的目录路径大致如下,ubuntu就是这样的
grub的在ESP分区中的boot loader文件 /boot/efi/EFI/grub
grub的主目录 /boot/grub/
================================
选择安装源
# vi /etc/pacman.d/mirrorlist
mirrorlist文件也会被pacstrap复制到新系统,所以现在就可以设置好
国内的 ustc、tsinghua有ipv6地址,放到最前,然后是163、hust两个,这5个放到最前面已经够了
安装基本系统
# pacstrap -i /mnt base base-devel
================================
生成 fstab
# genfstab -U -p /mnt >> /mnt/etc/fstab
# vi /mnt/etc/fstab 检查一下
================================
Chroot 到新系统,进行新系统的配置
# arch-chroot /mnt /bin/bash
================================
地区编码
# vi /etc/locale.gen
取消注释 en_US.UTF-8,zh_CN.UTF-8,zh_CN.GBK
生成指定的本地化文件,每次glibc更新之后也会运行locale-gen一次。
# locale-gen
locale.conf默认不存在,一般设置LANG项就行了,它是其它设置的默认值。
# vi /etc/locale.conf
LANG=en_US.UTF-8
警告: 不推荐在此设置中文locale,会导致tty乱码;
================================
时区
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
================================
时间设置
以前搞清楚过,现在又不会了! google linux 时间设置
# hwclock --systohc --utc
# hwclock --systohc --localtime
================================
Hostname
# echo xxxx > /etc/hostname
# vi /etc/hosts 进行相应修改
观点一:现在已不需编辑/etc/hosts。The step is not required for a base installation since /etc/nsswitch.conf ships with "hosts: files dns myhostname" where nss-myhostname takes care of the local hostname resolution.
观点二:按官方论坛帖所述,有必要在/etc/hosts中配置hostname,因為一些应用程式需要它;
================================
配置网络
# systemctl enable dhcpcd
# systemctl enable dhcpcd@interface_name.service
【netctl】
# cd /etc/netctl
# cp examples/ethernet-static my_network
# vi my_network
修改Interface,Address,Gateway和DNS
# netctl enable my_network
无线网络
# iwconfig
# wifi-menu wlp3s0
# pacman -S iw wpa_supplicant wireless_tools netctl
# pacman -S dialog
配置网络的工具和命令真多,有点眼花缭乱的感觉!!
================================
创建初始 ramdisk 环境
# mkinitcpio -p linux
================================
设置 Root 密码
# passwd
================================
安装grub2
# pacman -S grub efibootmgr dosfstools os-prober
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Grub --recheck
# grub-mkconfig -o /boot/grub/grub.cfg
os-prober会自动检测硬盘中安装的其他程序,这里因为是从U盘启动的,检测有点问题,重启后再次运行就检测到了。
另外可以手动加入菜单menuentry,编辑40_custom,也挺方便。
我发现如果还要安装ubuntu的话,这里貌似可以不安装grub了,因为ubuntu还是要安装。
================================
退出重启
#umount /mnt/boot/efi
#umount /mnt
# exit
# reboot
================================
安装完成后的工作
添加用户
显卡、声卡驱动
中文字体、输入法
图形界面 X
应用软件
参考:【原创】在预装Win8 (UEFI)的ThinkPad上加装ArchLinux系统