Difference between revisions of "Beginners' guide (简体中文)"

From ArchWiki
Jump to: navigation, search
m
(Update translation)
Line 18: Line 18:
 
[[sr:Beginners' Guide/Installation]]
 
[[sr:Beginners' Guide/Installation]]
 
[[zh-TW:Beginners' Guide/Installation]]
 
[[zh-TW:Beginners' Guide/Installation]]
{{TranslationStatus (简体中文)|Beginners'_Guide/Installation|2013-10-06|277675}}
+
{{TranslationStatus (简体中文)|Beginners'_Guide/Installation|2014-04-02|307980}}
 
{{小贴士|本文是多页文档'''新手指南'''的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}
 
{{小贴士|本文是多页文档'''新手指南'''的一部分,如果想阅读单页文档,请[[Beginners' Guide (简体中文)|点击这里]]。}}
 
</noinclude>
 
</noinclude>
 
==安装==
 
==安装==
  
你将看到一个命令提示符,自动以{{ic|root}}登陆。要编辑文本文件,{{ic|nano}}是推荐的选择;若不知到当如何使用它,可参见[[Nano#nano_usage]]
+
你将看到一个命令提示符,自动以{{ic|root}}登陆。要编辑文本文件,{{ic|nano}}是推荐的选择;若不知到当如何使用它,可参见[[Nano#nano_usage]]。如果系统会和 Windows 双启动,请阅读 [[Windows and Arch Dual Boot|这里]].
  
 
===修改语言===
 
===修改语言===
Line 38: Line 38:
 
  # setfont Lat2-Terminus16
 
  # setfont Lat2-Terminus16
  
系统默认将语言设为美式英语。若想在安装过程中使用其他语言''(以德语为例)'',从{{ic|/etc/locale.gen}}中去掉相应[locale]前的{{ic|#}}。请选择含{{ic|UTF-8}}的行。
+
系统默认将语言设为美式英语。若想在安装过程中使用其他语言''(以德语为例)'',从{{ic|/etc/locale.gen}}中去掉相应[[locale]]前的{{ic|#}}。请选择含{{ic|UTF-8}}的行。
 
 
按下{{ic|Ctrl+X}}退出,在保存提示出现时按下{{ic|Y}}和{{ic|Enter}}来使用相同的文件名。
 
  
 
{{hc|# nano /etc/locale.gen|
 
{{hc|# nano /etc/locale.gen|
Line 48: Line 46:
 
  # locale-gen
 
  # locale-gen
 
  # export LANG=de_DE.UTF-8
 
  # export LANG=de_DE.UTF-8
 
记得按下{{ic|LAlt+LShift}}启用新的映射
 
  
 
===建立网络连接===
 
===建立网络连接===
Line 179: Line 175:
 
  # wpa_passphrase <ssid> <passphrase> >> /etc/wpa_supplicant.conf
 
  # wpa_passphrase <ssid> <passphrase> >> /etc/wpa_supplicant.conf
 
  # ip link set <interface> up # May not be needed as dhcpcd should bring it up but may be needed for wpa_supplicant.
 
  # ip link set <interface> up # May not be needed as dhcpcd should bring it up but may be needed for wpa_supplicant.
  # wpa_supplicant -B -D nl80211 -c /foobar.conf -i <interface name>
+
  # wpa_supplicant -B -D nl80211 -c /etc/wpa_supplicant.conf -i <interface name>
 
  # dhcpcd -A <interface name>
 
  # dhcpcd -A <interface name>
 +
 +
如果 wpa_supplicant 提示 Driver 不支持,请删除 "-D nl80211" 参数:
 +
# wpa_supplicant -B -c /etc/wpa_supplicant.conf -i <interface name>
  
 
====xDSL(PPPoE),模拟调制解调器或ISDN====
 
====xDSL(PPPoE),模拟调制解调器或ISDN====
Line 192: Line 191:
  
 
{{警告|操作磁盘分区有时会毁掉原数据。'''强烈建议'''先备份重要的数据。}}
 
{{警告|操作磁盘分区有时会毁掉原数据。'''强烈建议'''先备份重要的数据。}}
 +
* 如果要安装 Arch Linux 到U盘(USB随身碟),请阅读:[[Installing_Arch_Linux_on_a_USB_key_(简体中文)|在U盘上安装Arch Linux]]。
 +
* 如果要创建复杂的块设备,例如 [[LVM]], [[disk encryption]] 或 [[RAID]],请现在进行。
  
 
==== 选择分区表类型 ====
 
==== 选择分区表类型 ====
可选择使用[[GUID Partition Table|GPT]]或[[Master Boot Record|MBR]]。前者更现代,建议新安装系统时使用。
+
可选择使用[[GUID Partition Table|GPT]]或[[Master Boot Record|MBR]]。建议阅读 [[Partitioning_(简体中文)#.E9.80.89.E6.8B.A9GPT_.E8.BF.98.E6.98.AF_MBR|选择GPT或MBR]] 以作出选择。
  
* 若要和Windows双系统启动,建议阅读 [[Partitioning_(简体中文)#.E9.80.89.E6.8B.A9GPT_.E8.BF.98.E6.98.AF_MBR|选择GPT或MBR]] 以作出选择。
 
 
* 推荐所有UEFI使用者使用GPT分区格式,有些UEFI固件不支持UEFI-MBR启动。
 
* 推荐所有UEFI使用者使用GPT分区格式,有些UEFI固件不支持UEFI-MBR启动。
 
* 有些BIOS不支持GPT,参见[http://mjg59.dreamwidth.org/8035.html][http://rodsbooks.com/gdisk/bios.html]
 
* 有些BIOS不支持GPT,参见[http://mjg59.dreamwidth.org/8035.html][http://rodsbooks.com/gdisk/bios.html]
* 如果要安装 Arch Linux 到U盘(USB随身碟),请阅读:[[Installing_Arch_Linux_on_a_USB_key_(简体中文)|在U盘上安装Arch Linux]]。
 
  
 
==== 分区工具 ====
 
==== 分区工具 ====
  
新手建议使用图形化的分区工具。[http://gparted.sourceforge.net/download.php GParted]是个很不错的选择。它包含在多数 Linux 发行版的 LiveCD 中(例如[[Wikipedia:Ubuntu_(operating_system)|Ubuntu]],[[Wikipedia:Linux_Mint|Linux Mint]]等)。硬盘在使用前需要先[[partitioning (简体中文)|分区]],然后将分区格式化为需要的[[File Systems (简体中文)|文件系统]]。
+
新手建议使用图形化的分区工具。[[GParted]]是个很不错的选择。硬盘在使用前需要先[[partitioning (简体中文)|分区]],然后将分区格式化为需要的[[File Systems (简体中文)|文件系统]]。
 
 
{{提示|使用Gparted时,可以用选项设置成默认创建「msdos」分区,如果要创建GPT分区,可以选择「Advanced」并选择「gpt」。}}
 
  
 
gparted 可能更容易使用,如果仅要创建几个分区,可以通过[[Partitioning#Partitioning_tools|fdisk或其他程序]]快速完成,这些工具在安装盘里面已经包含。在下一章节会介绍[[Partitioning_(简体中文)#Gdisk_.E7.94.A8.E6.B3.95|gdisk]]与[[Partitioning_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29#Fdisk_.E7.94.A8.E6.B3.95|fdisk]]的用法。
 
gparted 可能更容易使用,如果仅要创建几个分区,可以通过[[Partitioning#Partitioning_tools|fdisk或其他程序]]快速完成,这些工具在安装盘里面已经包含。在下一章节会介绍[[Partitioning_(简体中文)#Gdisk_.E7.94.A8.E6.B3.95|gdisk]]与[[Partitioning_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29#Fdisk_.E7.94.A8.E6.B3.95|fdisk]]的用法。
Line 219: Line 216:
  
 
如果你想现在设定交换分区,参见 [[Swap]] 获取更多信息;使用交换文件的话,修改文件的大小比修改分区大小更方便,但是目前交换文件不支持放在[[Btrfs (简体中文)|btrfs]]上。
 
如果你想现在设定交换分区,参见 [[Swap]] 获取更多信息;使用交换文件的话,修改文件的大小比修改分区大小更方便,但是目前交换文件不支持放在[[Btrfs (简体中文)|btrfs]]上。
 
==== 与Windows多重启动的建议 ====
 
 
如果你已有一个安装的系统,要注意的是你写入的磁盘的分区表是全新的,这将导致之前的磁盘信息将会丢失。
 
 
安装一个 Linux/Windows 多重启动系统的推荐步骤是先安装 Winodws ,并且仅使用部分磁盘用于 Winodws 分区。当你完成 Windows 安装以后,再重启到 Linux 安装环境,在现有 Windows 分区未占用的剩余磁盘空间上创建新的 Linux 分区。
 
 
此外,新的预装 Windows 8 电脑都默认使用安全启动。 Arch Linux 当前还不支持安全启动,如果在 BIOS 中关闭安全启动则会出现一些预装的 Windows 8 现无法启动的情况。在某些情况下,同时在 BIOS 中关闭安全启动和 FASTBOOT 选项让 Windows 8 开机无安全启动是很有必要的。
 
因此,也许用一个独立的硬盘来完成 Linux 的安装,是一个保持 Windows 8 的安装完整的较优方案,因为这能够让 Linux 使用 GPT 分区表。一旦那个操作完成,在一个具有双硬盘的电脑上建立多个 ext4/FAT32/swap 分区在第二个分区上也许是一个更好的方式。不过对于一个小笔记本上这个通常不是一个十分容易或可能的事。现在,安全启动对于可靠操作仍然不是一个完全稳定的状态,即使许多 Linux 发行版支持。
 
 
如果你已经分过区,继续 [[#挂载分区|挂载分区]]. 否则,参考下面的例子。
 
  
 
====分区示例====
 
====分区示例====
Line 244: Line 230:
  
 
===== 通过 cgdisk 创建 GPT 分区 =====
 
===== 通过 cgdisk 创建 GPT 分区 =====
  # cgdisk&nbsp;/dev/sda
+
 
 +
  # cgdisk /dev/sda
  
 
'''根分区:'''
 
'''根分区:'''
Line 374: Line 361:
 
...}}
 
...}}
  
* {{ic|Alt+6}} 将会复制一行 {{ic|Server}}。
+
如果你愿意,你可以只使用一个镜像并删除其他的行;但通常的做法是保留其他几个离你较近的镜像作备用。
* {{ic|PageUp}} 键向上滚动。
 
* {{ic|Ctrl+U}} 将其粘贴在列表的顶部。
 
* {{ic|Ctrl+X}} 退出,当系统提示是否保存更改,请按 {{ic|Y}} 后按 {{ic|Enter}} 以相同的文件名保存。
 
 
 
如果你愿意,你可以只使用一个镜像并删除其他的行(用{{ic|Ctrl+K}}删除行);但通常的做法是保留其他几个离你较近的镜像作备用。
 
  
 
{{提示|
 
{{提示|
Line 391: Line 373:
  
 
=== 安装基本系统 ===
 
=== 安装基本系统 ===
使用 [https://github.com/falconindy/arch-install-scripts/blob/master/pacstrap.in pacstrap] 来安装基本系统;如果你不想手动选择安装哪个包,开关{{ic|-i}}可以忽略:
+
使用 '''pacstrap''' 来安装基本系统;如果你不想手动选择安装哪个包,开关{{ic|-i}}可以忽略:
 
  # pacstrap -i /mnt base base-devel
 
  # pacstrap -i /mnt base base-devel
 
; {{grp|base}}: 来自[https://www.archlinux.org/packages/?arch=any&arch=x86_64&repo=Core &#91;core&#93;]的软件包,构成最小基本系统。
 
; {{grp|base}}: 来自[https://www.archlinux.org/packages/?arch=any&arch=x86_64&repo=Core &#91;core&#93;]的软件包,构成最小基本系统。
Line 399: Line 381:
 
* 若不知道还需要什么软件,先跳过,后面用[[pacman (简体中文)|pacman]]安装。}}
 
* 若不知道还需要什么软件,先跳过,后面用[[pacman (简体中文)|pacman]]安装。}}
 
{{注意|
 
{{注意|
 +
* 如果安装的时候请求 PGP key,请允许下载 Key,如果您使用的 Arch ISO 比较老的时候会发生这个问题。
 
* 若pacman在安装时提示无法验证软件包,请以{{ic|Ctrl+C}}终止安装过程,以{{ic|cal}}检查系统时间。若发现系统时间是无效的(如,未来时间),验证签名时将会提示过期或无效从而导致pacman无法安装软件包。请修正你的系统时间,可运行{{ic|ntpd -qg}}命令并重试。参考 [[Time (简体中文)|系统时间]] 以获得关于如何校准时间的更多讯息。
 
* 若pacman在安装时提示无法验证软件包,请以{{ic|Ctrl+C}}终止安装过程,以{{ic|cal}}检查系统时间。若发现系统时间是无效的(如,未来时间),验证签名时将会提示过期或无效从而导致pacman无法安装软件包。请修正你的系统时间,可运行{{ic|ntpd -qg}}命令并重试。参考 [[Time (简体中文)|系统时间]] 以获得关于如何校准时间的更多讯息。
 
* 若pacman报告安装时遇到错误的签名({{ic|error: failed to commit transaction (invalid or corrupted package)}}),请运行如下命令:
 
* 若pacman报告安装时遇到错误的签名({{ic|error: failed to commit transaction (invalid or corrupted package)}}),请运行如下命令:
Line 420: Line 403:
  
 
下面要[[Change_Root_(简体中文)|chroot]]到新系统:
 
下面要[[Change_Root_(简体中文)|chroot]]到新系统:
# arch-chroot /mnt
 
  
{{提示|可使用{{ic|arch-chroot /mnt /bin/bash}}进入bash shell。}}
+
# arch-chroot /mnt /bin/bash
 +
 
 +
{{提示|可删除 /bin/bash 进入 sh shell。}}
  
 
到这一步之后,开始系统的主要配置;如果文件不存在,需要手动创建。<br>
 
到这一步之后,开始系统的主要配置;如果文件不存在,需要手动创建。<br>
Line 438: Line 422:
 
  zh_CN.UTF-8 UTF-8
 
  zh_CN.UTF-8 UTF-8
 
  zh_TW.UTF-8 UTF-8
 
  zh_TW.UTF-8 UTF-8
 +
 
然后运行:
 
然后运行:
 +
 
  # locale-gen
 
  # locale-gen
  
Line 483: Line 469:
 
: {{警告|使用 ''localtime'' 可能导致一些无法修复的问题。但目前还没有取消此设置选项的计划。}}
 
: {{警告|使用 ''localtime'' 可能导致一些无法修复的问题。但目前还没有取消此设置选项的计划。}}
 
: {{bc|# hwclock --systohc --localtime}}
 
: {{bc|# hwclock --systohc --localtime}}
{{提示|
 
若你的机器上有Windows,并想要使用双系统:
 
 
* 建议:将两者皆设置为UTC。需要[[Time_(简体中文)#Windows_.E7.B3.BB.E7.BB.9F.E4.BD.BF.E7.94.A8_UTC|修改Windows注册表]]。另:记得关闭Windows的在线时间校准以防硬件时间被设为''localtime''。若需同步网络时间(NTP sync),请在Arch Linux上安装[[ntpd]]。
 
 
* 不建议:将Arch Linux的硬件时钟模式设为''localtime''并禁用任何时钟同步服务(如{{ic|ntpd.service}})。这将会使Windows检查硬件时间的正确性,并且你需要在一年中至少启动Windows两次(分别在春季与秋季)以正确应用[[Wikipedia:Daylight_savings_time|夏令时]]。So please '''don't''' ask on the forums why the clock is one hour behind or ahead if you usually go for days or weeks without booting into Windows(所以请不要忘记启动Windows而在论坛问为什麼时钟会快/慢一个小时)。}}
 
  
 
==== 内核模块 ====
 
==== 内核模块 ====
Line 531: Line 511:
  
 
  # cd /etc/netctl
 
  # cd /etc/netctl
  # cp examples/ethernet-dhcp my-network
+
  # cp examples/ethernet-dhcp my_network
  
 
根据你的需要修改配置文件(根据{{ic|ip link的输出}}修改{{ic|Interface}}):
 
根据你的需要修改配置文件(根据{{ic|ip link的输出}}修改{{ic|Interface}}):
  
  # nano my-network
+
  # nano my_network
  
启用{{ic|my-network}}配置:
+
启用{{ic|my_network}}配置:
  
  # netctl enable my-network
+
  # netctl enable my_network
  
 
; 使用 netctl-ifplugd
 
; 使用 netctl-ifplugd
Line 562: Line 542:
  
 
  # cd /etc/netctl
 
  # cd /etc/netctl
  # cp examples/ethernet-static my-network
+
  # cp examples/ethernet-static my_network
  
 
根据你的需要修改配置文件(修改{{ic|Interface}},{{ic|Address}},{{ic|Gateway}}和{{ic|DNS}}):
 
根据你的需要修改配置文件(修改{{ic|Interface}},{{ic|Address}},{{ic|Gateway}}和{{ic|DNS}}):
  
  # nano my-network
+
  # nano my_network
 
* {{ic|Address}}中的{{ic|/24}}为掩码{{ic|255.255.255.0}}的[[wikipedia:Classless Inter-Domain Routing#CIDR notation|CIDR 标记方式]]。
 
* {{ic|Address}}中的{{ic|/24}}为掩码{{ic|255.255.255.0}}的[[wikipedia:Classless Inter-Domain Routing#CIDR notation|CIDR 标记方式]]。
  
 
然后启用创建的配置文件:
 
然后启用创建的配置文件:
  
  # netctl enable my-network
+
  # netctl enable my_network
  
 
==== 无线网络 ====
 
==== 无线网络 ====
Line 597: Line 577:
  
 
  # cd /etc/netctl
 
  # cd /etc/netctl
  # cp examples/wireless-wpa my-network
+
  # cp examples/wireless-wpa my_network
  
 
按照需要修改模版({{ic|Interface}}、{{ic|ESSID}}与{{ic|Key}}):
 
按照需要修改模版({{ic|Interface}}、{{ic|ESSID}}与{{ic|Key}}):
  
  # nano my-network
+
  # nano my_network
  
 
使其启动时自动启动:
 
使其启动时自动启动:
  # netctl enable my-network
+
  # netctl enable my_network
  
 
===== 自动连接到已知网络 =====
 
===== 自动连接到已知网络 =====
Line 658: Line 638:
 
{{提示|如果你的硬盘分区方式为GPT,安装{{Pkg|gptfdisk}},因为它包含{{ic|sgdisk}}——用来设置GPT特有的启动标志。这时你需要使用{{ic|-g}}而不是{{ic|-m}}}}
 
{{提示|如果你的硬盘分区方式为GPT,安装{{Pkg|gptfdisk}},因为它包含{{ic|sgdisk}}——用来设置GPT特有的启动标志。这时你需要使用{{ic|-g}}而不是{{ic|-m}}}}
  
 +
# pacman -S gptfdisk
 +
 +
安装 syslinux:
 
  # pacman -S syslinux
 
  # pacman -S syslinux
 
  # syslinux-install_update -iam ## 或者syslinux-install_update -iag
 
  # syslinux-install_update -iam ## 或者syslinux-install_update -iag
Line 687: Line 670:
 
{{提示|要搜索硬盘上安装的其它操作系统,请先安装{{Pkg|os-prober}}。}}
 
{{提示|要搜索硬盘上安装的其它操作系统,请先安装{{Pkg|os-prober}}。}}
 
  # grub-mkconfig -o /boot/grub/grub.cfg
 
  # grub-mkconfig -o /boot/grub/grub.cfg
{{注意|对於新版grub,直接以上面命令生成菜单后或出现复数菜单项,如欲修复,可:
+
 
# chmod -x /etc/grub.d/10_linux
+
{{Note|可能会出现重复菜单项,请参考 [[GRUB#Redundant_menu_entries]].}}
# grub-mkconfig -o /boot/grub/grub.cfg
 
[[btrfs (简体中文)|btrfs]]用户,可:
 
# chmod -x /etc/grub.d/10_archlinux
 
# grub-mkconfig -o /boot/grub/grub.cfg
 
}}
 
  
 
详细配置信息请阅读 [[GRUB (简体中文)|grub条目]]。
 
详细配置信息请阅读 [[GRUB (简体中文)|grub条目]]。
Line 699: Line 677:
 
==== 对于 UEFI 主板 ====
 
==== 对于 UEFI 主板 ====
  
对于UEFI引导器,这里有多个选择。完整的列表参见[[Boot_Loaders|此处]]。你或许发现有些能正确引导,而有些不能。请先选择一个用起来可能顺手的,在此列出几个常用的选择:
+
对于UEFI引导器,这里有多个选择。完整的列表参见[[Boot_Loaders|此处]]。请先选择一个用起来可能顺手的,在此列出几个常用的选择:
  
 
* [[gummiboot]]是一个小型UEFI引导管理器,提供一个基本的[[EFISTUB]]内核与其他UEFI应用的菜单。这是推荐的UEFI引导方式。
 
* [[gummiboot]]是一个小型UEFI引导管理器,提供一个基本的[[EFISTUB]]内核与其他UEFI应用的菜单。这是推荐的UEFI引导方式。
 
* [[GRUB]]是一个更加完整的引导器,作为[[gummiboot]]不能正确引导的备用选择。
 
* [[GRUB]]是一个更加完整的引导器,作为[[gummiboot]]不能正确引导的备用选择。
 
对於以上两个引导器,你需要挂载efivarfs到{{ic|/sys/firmware/efi/efivars}}以使其能够在chroot中被存取(若已经挂载,则跳过此步):
 
# mount -t efivarfs efivarfs /sys/firmware/efi/efivars
 
  
 
{{Note|对于UEFI引导模式,磁盘需要有GPT分区表与[[Unified Extensible Firmware Interface#EFI System Partition|ESP分区]](FAT32格式,512 MiB或更大,gdisk type为{{ic|EF00}})。在下方的示例中,假设ESP被挂载至{{ic|/boot}}。}}
 
{{Note|对于UEFI引导模式,磁盘需要有GPT分区表与[[Unified Extensible Firmware Interface#EFI System Partition|ESP分区]](FAT32格式,512 MiB或更大,gdisk type为{{ic|EF00}})。在下方的示例中,假设ESP被挂载至{{ic|/boot}}。}}
Line 713: Line 688:
 
安装{{Pkg|gummiboot}},执行{{ic|gummiboot install}}以安装引导程式至EFI System Partition:
 
安装{{Pkg|gummiboot}},执行{{ic|gummiboot install}}以安装引导程式至EFI System Partition:
  
 +
# mount -t efivarfs efivarfs /sys/firmware/efi/efivars              # 已经挂载可以忽略
 
  # pacman -S gummiboot
 
  # pacman -S gummiboot
 
  # gummiboot install
 
  # gummiboot install
Line 731: Line 707:
 
安装{{Pkg|grub}}和{{Pkg|efibootmgr}}并运行{{ic|grub-install}}来安装引导器:
 
安装{{Pkg|grub}}和{{Pkg|efibootmgr}}并运行{{ic|grub-install}}来安装引导器:
  
 +
# mount -t efivarfs efivarfs /sys/firmware/efi/efivars              # 已经挂载可以忽略
 
  # pacman -S grub efibootmgr
 
  # pacman -S grub efibootmgr
 
  # grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck
 
  # grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck

Revision as of 14:25, 2 April 2014

zh-TW:Beginners' Guide/Installation

翻译状态: 本文是英文页面 Beginners'_Guide/Installation翻译,最后翻译时间:2014-04-02,点击这里可以查看翻译后英文页面的改动。
提示: 本文是多页文档新手指南的一部分,如果想阅读单页文档,请点击这里

安装

你将看到一个命令提示符,自动以root登陆。要编辑文本文件,nano是推荐的选择;若不知到当如何使用它,可参见Nano#nano_usage。如果系统会和 Windows 双启动,请阅读 这里.

修改语言

提示:
  • 对于大部分以中文为母语的用户,此为非必要操作,请跳至#建立网络连接
  • 仅在这些情况下需要:打算编辑包含非ASCII字符的配置文件、在WiFi密码中使用了变声记号、需要显示非英语的系统信息(如错误信息)。在此的修改仅影响安装过程。

键盘布局默认为us(美式键盘映射),若正在使用非美式键盘布局,通过以下的命令选择相应的键盘映射表:

# loadkeys layout

layout换为你的键盘布局,如frukdvorakbe-latin1这里有国家与二位代码的映射表。可使用命令localectl list-keymaps查看可用的键盘布局。

多数语言使用多于26个英文字母的字形,因此字体也需要进行相应的修改,否则这些语言的文字会显示成白方块。注意这些名称是区分大小写的:

# setfont Lat2-Terminus16

系统默认将语言设为美式英语。若想在安装过程中使用其他语言(以德语为例),从/etc/locale.gen中去掉相应locale前的#。请选择含UTF-8的行。

# nano /etc/locale.gen
en_US.UTF-8 UTF-8
de_DE.UTF-8 UTF-8
# locale-gen
# export LANG=de_DE.UTF-8

建立网络连接

注意: systemd 197开始,udev不再按照wlanX,ethX的方式分配网络接口的名字。若你是从其他发行版转来,请不要认为有线接口名字就是eth0,无线接口是wlan0;请用ip link命令查看接口的名字;

安装程序会自动运行dhcpcd以尝试配置有线连接。可以通过ping检查网络链路是否可用。

# ping -c 1 t.cn
PING t.cn (180.149.135.224) 56(84) bytes of data.
64 bytes from 180.149.135.224: icmp_seq=1 ttl=128 time=6.31 ms

--- t.cn ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 6.315/6.315/6.315/0.000 ms

若遇:ping: unknown host错误,表示网络不通;先检查网线接触是否良好,无线信号是否足够,若没有问题,需要用下面方法手动配置。

若已连通,跳至#准备存储设备

有线连接

若使用静态ip配置连接到有线网络,请使用如下方式配置。

首先,禁用自动启动的 dhcpcd 服务:

# systemctl stop dhcpcd

用ip命令查看有线连接的接口名字。

# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
    link/ether 00:11:25:31:69:20 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000
    link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff

此例中,有线连接的接口名字为enp2s0f0。若你不确定的话,有线连接一般以「e」开头,一般不会以「lo」或「w」开头。

你需要以下信息:

  • 静态IP地址
  • 子网掩码
  • 网关IP地址
  • 域名服务器(DNS)IP地址
  • 域名 (若是本地局域网,可任意取名)

激活接口,(例如enp2s0f0):

# ip link set enp2s0f0 up

添加地址:

# ip addr add <ip 地址>/<掩码位数> dev <接口名>

例如:

# ip addr add 192.168.1.2/24 dev enp2s0f0

更多信息参见:man ip

用类似下面的命令添加网关,ip 地址替换为实际的网关地址:

# ip route add default via <ip 地址>

例如:

# ip route add default via 192.168.1.1

编辑 /etc/resolv.conf 如下, 替换你的DNS服务器IP地址和本地域名:

# nano /etc/resolv.conf
 nameserver 8.8.4.4
 nameserver 8.8.8.8
注意: 目前,你最多只能包含三行nameserver字段. 要突破限制,请使用本地域名缓存,例如 Dnsmasq

这时应该已经有一个可用的有线网络了;若没有,请查阅详细的网络配置页面。

无线网络

若需用Wi-Fi连接网络,请采用以下步骤。

现在在安装媒体中已经包含了无线网络驱动和工具。对无线网络硬件有一定的了解是完成无线网络设置的重要前提。注意下面的在安装时执行的快速设置过程中会初始化live环境中的无线网络硬件。安装好系统以后,无线网络设置(或其他无线管理操作)需要再次执行一遍

并且注意如果安装过程中并不需要无线网络,不需执行下面的步骤。可以在系统安装好之后再设置无线网络功能。

首先确定网络接口名称:

# iw dev
phy#0
        Interface wlp3s0
                ifindex 3
                wdev 0x1
                addr 00:21:6a:5e:52:bc
                type managed
提示: 某些情况下,iw dev或不能正确显示所有802.11设备,此时可以iwconfig替代之;

下面的示例中使用wlp3s0作为接口,linksys作为ESSID。请依实际情况修改。

注意: 输出和下面不相似表示驱动没有载入,需要自己加入;参见无线配置
  • 启用接口:
# ip link set wlp3s0 up

为了检验接口是否打开,你可以查看以下命令的输出:

# ip link show wlp3s0
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
    link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff

若显示类似于<BROADCAST,MULTICAST,UP,LOWER_UP>则代表接口是开启状态,否则为关闭状态。

除了驱动,部分无线网卡还需要固件。内核一般会自动探测并加载固件,如果启用网络时,缺少固件的接口会提示错误:SIOCSIFFLAGS: No such file or directory。若不确定,用dmesg查询内核日志,看看有没有来自无线网卡的固件请求。Intel芯片组在启动时请求固件的例子:

# dmesg | grep firmware
firmware: requesting iwlwifi-5000-1.ucode

若无输出,表示系统的无线芯片不需要固件。

警告: 网卡需要的无线接口固件包在 live 环境中被预先安装到了/lib/firmware但是必须特别安装到实际的系统才能在重启后提供无线功能!本向导的后面会介绍软件包的选择和安装。请确保在软件包选择的时候选中需要的无线模块和固件!如有任何疑问,参见:无线设置,这是常见错误。

然后使用netctl提供的wifi-menu连接到网络:

# wifi-menu wlp3s0

到此,无线网络当已联通;如遇问题,参见:无线配置

不使用 wifi-menu

这是另一种手动配置方法;先扫描网路:

# iw dev wlp3s0 scan | grep SSID

连接网络:

# wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")

ssid替换为实际网络的名称,psk替换为无线密码,请保留引号。最后,用dhcp获取IP地址:

# dhcpcd wlp3s0

若不行,尝试这个方案:

# echo 'ctrl_interface=DIR=/run/wpa_supplicant' > /etc/wpa_supplicant.conf
# wpa_passphrase <ssid> <passphrase> >> /etc/wpa_supplicant.conf
# ip link set <interface> up # May not be needed as dhcpcd should bring it up but may be needed for wpa_supplicant.
# wpa_supplicant -B -D nl80211 -c /etc/wpa_supplicant.conf -i <interface name>
# dhcpcd -A <interface name>

如果 wpa_supplicant 提示 Driver 不支持,请删除 "-D nl80211" 参数:

# wpa_supplicant -B -c /etc/wpa_supplicant.conf -i <interface name>

xDSL(PPPoE),模拟调制解调器或ISDN

若使用拨号网络或ISDN,请阅读Direct Modem Connection

位于代理服务器后面

若通过代理服务器连接网络,你需要exporthttp_proxyftp_proxy变量。查看这里以获取更多信息。

准备存储设备

警告: 操作磁盘分区有时会毁掉原数据。强烈建议先备份重要的数据。

选择分区表类型

可选择使用GPTMBR。建议阅读 选择GPT或MBR 以作出选择。

  • 推荐所有UEFI使用者使用GPT分区格式,有些UEFI固件不支持UEFI-MBR启动。
  • 有些BIOS不支持GPT,参见[1][2]

分区工具

新手建议使用图形化的分区工具。GParted是个很不错的选择。硬盘在使用前需要先分区,然后将分区格式化为需要的文件系统

gparted 可能更容易使用,如果仅要创建几个分区,可以通过fdisk或其他程序快速完成,这些工具在安装盘里面已经包含。在下一章节会介绍gdiskfdisk的用法。

分区方案

你可以决定磁盘应该分为多少个区并且每个分区挂载在系统的哪个目录。 将分区如何映射至目录(一般称此为挂载点)取决于你的分区方案。最简单但也不坏的选择,是仅仅分一个大的/分区。另一个通常的选择是一个 /和一个/home分区。

额外需要的分区:

  • 如果你使用UEFI主板,你需要创建一个额外的EFI系统分区
  • 如果你使用BIOS主板(或者计划以兼容BIOS模式引导),并且你希望在GPT分区驱动器上安装GRUB,你需要创建一个额外的1至2MiB,类型代码为EF02BIOS引导分区syslinux不需要这个分区。
  • 如果你需要加密磁盘,则必须在分区方案中有所体现。在系统安装后再配置加密文件夹,容器或home目录也是没有问题的。

如果你想现在设定交换分区,参见 Swap 获取更多信息;使用交换文件的话,修改文件的大小比修改分区大小更方便,但是目前交换文件不支持放在btrfs上。

分区示例

当前安装盘包含如下工具:fdisk, gdisk, cfdisk, cgdisk, parted.

提示: lsblk -flsblk -o NAME,FSTYPE,SIZE,LABEL命令显示连接到系统的硬盘和分区,这样可以确定要使用的分区。

此例使用fdisk,将fdisk替换为cgdisk可以使用新的GPT分区。

示例硬盘将划分为15GB的根分区/、剩下的作为/home,选择MBRGPT其中的一个。

需要再次强调的是,真正的分区取决于个人的选择,此处的示例仅供参考。详细分区方案介绍参见此处

通过 cgdisk 创建 GPT 分区
# cgdisk /dev/sda

根分区:

  • 在第一个扇区 (2048) 上选择 New (或者按N) – Enter – 输入15GEnter 保持默认的十六进制码 (8300) – Enter 让分区名留空。

Home分区:

  • 按几次下箭头让光标移动到大的空白分区。
  • 在第一扇区选择 New (或者按 N) – EnterEnter 使用全部剩余空间 (或者你也可以输入确定的分区大小,比如 "30G") – Enter 保持默认的十六进制码 (8300) – Enter 让分区名置空。

完成之后,分区界面应该类似下面这样:

Part. #     Size        Partition Type            Partition Name
----------------------------------------------------------------
            1007.0 KiB  free space
   1        15.0 GiB    Linux filesystem
   2        123.45 GiB  Linux filesystem

请再次仔细检查分区大小和布局是否正确。

确认无误后,选择Write (或者按 Shift+W) 完成分区,并输入yes将修改写入磁盘,然后退出。如果要重新开始,可以选择 Quit 退出分区程序。

用 fdisk 建立 MBR 分区
注意: 安装介质中亦有一个叫cfdisk的工具,它提供与cgdisk相似的UI;但目前在某些情况下(譬如需要以btrfs为根分区并使用grub引导器时)还不能正确对齐第一分区(准确的说是无法手动调整一个分区的开端部分);这就是为何我们会在这里建议使用经典分区工具fdisk的原因。

用以下命令运行 fdisk :

# fdisk /dev/sda
  • Command (m for help): 输入 o 并按下 Enter

然后建立第一个分区:

  1. Command (m for help): 输入 n 并按下 Enter
  2. Partition type: Select (default p): 按下 Enter
  3. Partition number (1-4, default 1): 按下 Enter
  4. First sector (2048-209715199, default 2048): 按下 Enter
  5. Last sector, +sectors or +size{K,M,G} (2048-209715199....., default 209715199): 输入 +15G 并按下 Enter

然后建立第二个分区:

  1. Command (m for help): 输入 n 并按下 Enter
  2. Partition type: Select (default p): 按下 Enter
  3. Partition number (1-4, default 2): 按下 Enter
  4. First sector (31459328-209715199, default 31459328): 按下 Enter
  5. Last sector, +sectors or +size{K,M,G} (31459328-209715199....., default 209715199): 按下 Enter

现在预览下新的分区表:

  • Command (m for help): 输入 p 并按下 Enter
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5698d902

   Device Boot     Start         End     Blocks   Id  System
/dev/sda1           2048    31459327   15728640   83   Linux
/dev/sda2       31459328   209715199   89127936   83   Linux

然后向磁盘写入这些改动:

  • Command (m for help): 输入 w 并按下 Enter

如果一切顺利无错误的话 fdisk 程序将显示如下信息:

The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks. 

若因fdisk遇到错误导致以上操作无法完成,可以q命令来退出。

创建文件系统

分区之后,还需用mkfs将分区格式化为指定的文件系统。本例中 root 和 home 分区都使用 ext4;

警告: 请务必再三检查你的操作,因为以下的操作将会格式化对应的分区。 你可以使用 lsblk -f查看磁盘的分区状态。
# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda2

若你分了一个swap区,不要忘了格式化和启用它:

# mkswap /dev/sdaX
# swapon /dev/sdaX

UEFI用户需要格式化ESP分区(假设是 /dev/sda1):

# mkfs.vfat -F32 /dev/sda1

挂载分区

每一个分区都有一个明确的数字标识,要检查当前磁盘的标识符和布局:

# lsblk -f

记下将要安装 Arch 的磁盘&分区。每个分区都能通过一个数字后缀来辨认。如:sda1即指某一磁盘的第一分区,而sda则表示整个磁盘。

注意: 不要在同一个目录挂载多个分区,而且依序挂载很重要。

注意要按照顺序挂载,先挂载根分区到/mnt.

# mount /dev/sda1 /mnt

然后挂载/home分区和其余单独分区(/boot/var等)。

然后在/mnt中创建 home 目录并挂载分区:

# mkdir /mnt/home
# mount /dev/sda2 /mnt/home

如果是UEFI主板,挂载UEFI分区(以挂载至/boot为例):

# mkdir -p /mnt/boot
# mount /dev/sdXY /mnt/boot

选择安装镜像

安装前需要编辑/etc/pacman.d/mirrorlist,将最想使用的镜像放到前面。mirrorlist文件也会被pacstrap复制到新系统,所以最好现在就设置好;以清华源为例:

# nano /etc/pacman.d/mirrorlist
##
## Arch Linux repository mirrorlist
## Sorted by mirror score from mirror status page
## Generated on 2012-MM-DD
##

Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
...

如果你愿意,你可以只使用一个镜像并删除其他的行;但通常的做法是保留其他几个离你较近的镜像作备用。

提示:
  • 使用镜像列表生成器可自动根据更新状况生成离你比较近的镜像列表。HTTP镜像因为一个叫keepalive的东西所以通常来说要比FTP快。使用FTP镜像,pacman在下载每一个包的时候都会发送一个信号,这个会导致短暂的停顿。一个更多生成镜像的方法,可以查看 镜像排序按照速度排列镜像
  • Arch Linux镜像状态报告了各镜像的状态,包括网络问题、数据收集问题、上次同步时间等。
注意:
  • 一旦更改了镜像列表,请务必记得使用pacman -Syy强制刷新。这绝对是一个良好的习惯,它可以避免一些可能的麻烦。查看此处以获得更多信息。
  • 若你使用一个比较旧的安装媒介,你的镜像列表或许已经过期,这会导致升级/安装Arch Linux时出现问题(参见 FS#22510)。因此建议使用上面提及的方法更新镜像列表。
  • 有些问题被报告到Arch Linux官方论坛,是一些由于网络导致的pacman无法更新、同步的问题。(参考 [3][4])。在实体机器中安装Arch Linux时,我们使用更换pacman的默认下载器的方法来应对这个问题(参考这里)。当把Arch Linux作为客户系统来安装在VirtualBox中时,这个问题可以通过在设置中使用宿主网卡而不是「NAT」来得到解决。

安装基本系统

使用 pacstrap 来安装基本系统;如果你不想手动选择安装哪个包,开关-i可以忽略:

# pacstrap -i /mnt base base-devel
base
来自[core]的软件包,构成最小基本系统。
base-devel
来自[core]的附加工具组,包含如makegccautomake这样的软件包。
提示:
  • base-devel是非必须的,但大多数Arch Linux用户都会安装它以构建AUR中的软件包。
  • 若不知道还需要什么软件,先跳过,后面用pacman安装。
注意:
  • 如果安装的时候请求 PGP key,请允许下载 Key,如果您使用的 Arch ISO 比较老的时候会发生这个问题。
  • 若pacman在安装时提示无法验证软件包,请以Ctrl+C终止安装过程,以cal检查系统时间。若发现系统时间是无效的(如,未来时间),验证签名时将会提示过期或无效从而导致pacman无法安装软件包。请修正你的系统时间,可运行ntpd -qg命令并重试。参考 系统时间 以获得关于如何校准时间的更多讯息。
  • 若pacman报告安装时遇到错误的签名(error: failed to commit transaction (invalid or corrupted package)),请运行如下命令:
# pacman-key --init && pacman-key --populate archlinux

生成 fstab

用以下命令生成fstab-U开关会以UUID指定分区,使用-L会以卷标指定分区:

# genfstab -U -p /mnt >> /mnt/etc/fstab
# nano /mnt/etc/fstab
警告: 建议在生成fstab后检查一下它是否正确;若发现问题,请不要再次运行genfstab——直接手动以文本编辑器修复它。
提示:

fstab(file systems table的缩写)是系统配置的一部分,该文件列出所有可用的磁盘和分区,并指明它们初始化的方式或整合至全局文件系统的方式。/etc/fstab文件一般被mount命令读取,mount以设备上的文件系统为参数,将其添加到主目录结构。在启动过程执行到3/4左右的时候会调用mount -amount -a读取/etc/fstab以确定挂载时使用的选项。如果noauto位于/etc/fstab中的文件系统挂载参数之后,mount -a不会在启动时挂载它。仅根分区需要在最后使用1,其它可以使用20(参见fstab字段定义)。

  • 最后一列决定分区在启动时进行磁盘检查的顺序:只有非btrfs格式的根分区(/)需要将最后一列设为1,其它应该为20(亦参见fstab字段定义)。
  • btrfsswap分区的最后一列须设置成0

Chroot 到新系统

下面要chroot到新系统:

# arch-chroot /mnt /bin/bash
提示: 可删除 /bin/bash 进入 sh shell。

到这一步之后,开始系统的主要配置;如果文件不存在,需要手动创建。
理解并依照步骤进行完全安装是保证系统配置成功的关键。

配置系统

Locale

glibc和其他一些支持本地化的程序或者库使用locale(s)自动翻译输出各种语言的「独特」文本,并且显示合适的地域、货币、时区以及日期格式、字符排列方式和其他一些本地化的特定标准。

需要编辑两个文件:locale.genlocale.conf。 默认情况下/etc/locale.gen是一个仅包含注释文档的空文件。选定你需要的本地化类型(移除对应项前面的即可),请选择包含UTF-8的行:

en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8

然后运行:

# locale-gen

每次glibc更新之后就会运行locale-gen一次,重新生成/etc/locale.gen指定的本地化文件。

  • locale.conf默认不存在,一般设置LANG项就行了,它是其它设置的默认值。
# nano /etc/locale.conf
LANG=en_US.UTF-8
警告: 不推荐在此设置中文locale,会导致tty乱码;
提示: 要使用其它LC_*变量,先运行locale查看可用选项;高级示例可参阅此处.不建议使用LC_ALL变量,因为它会覆盖全部设置;

终端字体和键盘映射

提示: 对于大部分以中文为母语的用户,此为非必要操作;请跳至#时区

以德语为例:

# loadkeys de-latin1
# setfont Lat2-Terminus16
# nano /etc/vconsole.conf
KEYMAP=de-latin1
FONT=Lat2-Terminus16
  • KEYMAP:可用的键盘映射位于/usr/share/kbd/keymaps。注意此设置仅对 TTY 起作用,不改变任何图形管理器如Xorg的设置。
  • FONT:可用字体位于/usr/share/kbd/consolefonts/,默认为空:一些非英语语言的某些字符或许不能支持;此时建议将其设置为Lat2-Terminus16,参见/usr/share/kbd/consolefonts/README.Lat2-Terminus16:它支持约110种语言方案。
  • FONT_MAP:可选设置,定义要加载的键盘映射;参阅man setfont。可以删除或留空。
提示: 更多讯息,参阅Console fontsman vconsole.conf

时区

可用的时区包含在/usr/share/zoneinfo/中;将/etc/localtime软链接到/usr/share/zoneinfo/Zone/SubZone。将ZoneSubzone替换为所在时区:

# ln -s /usr/share/zoneinfo/<Zone>/<SubZone> /etc/localtime

以上海为例:

# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

硬件时间

请在同一个机器使用同一个硬件时钟模式,否则不同的操作系统可能会相互覆盖硬件时间导致时间错乱。

可以用下面命令自动生成 /etc/adjtime

  • UTC(推荐使用):
提示: 硬件时钟使用UTC不代表显示时间时使用UTC。
# hwclock --systohc --utc
  • localtime(不推荐,但 Windows 默认使用此方式):
警告: 使用 localtime 可能导致一些无法修复的问题。但目前还没有取消此设置选项的计划。
# hwclock --systohc --localtime

内核模块

提示: 一般情况下 udev 会自动加载需要的模块,大部分用户都不需要手动修改。这里只需要加入真正需要的模块。

/etc/modules-load.d/中保存内核启动时加入模块的配置文件。每个配置文件在/etc/modules-load.d/中以.conf为文件名结尾。配置文件中包含需要装入的内核列表,每个一行。空行和以#;开头的行直接被忽略。示例:

/etc/modules-load.d/virtio-net.conf
# Load virtio-net.ko at boot
virtio-net

若需在一个.conf中指定加载多个模块,可直接以换行符隔开各个模块名;VirtualBox的客户机扩展是个不错的例子。

Hostname

按喜好设置主机名,例如:

# echo archlinux > /etc/hostname
注意: 现在已经不需要再编辑/etc/hosts.

配置网络

你需要再次配置网络,但此次是为你所安装的系统而配置。 该过程与前面的配置方法基本相同,不同之处在于我们此刻将使其在下次计算机启动时自动运行。

注意:
  • 了解更多网络配置相关信息,请访问 配置网络无线设置.
  • 若你喜欢旧的介面命名方案(如eth0wlan0),你可以创建一个空文件:/etc/udev/rules.d/80-net-name-slot.rules(systemd 209之后,当为/etc/udev/rules.d/80-net-setup-link.rules);它将会屏蔽掉/usr/lib/udev/rules.d下的同名文件。

有线网络

动态 IP
使用 dhcpcd

如果你只使用一个单一的固定有线网络连接,并不需要网络管理服务的话,可使用简单的dhcpcd服务。interface_name是你的网卡名称:

# systemctl enable dhcpcd
提示: 若不行,试试:systemctl enable dhcpcd@interface_name.service
使用 netctl

复制一个简单的配置样本/etc/netctl/examples/etc/netctl

# cd /etc/netctl
# cp examples/ethernet-dhcp my_network

根据你的需要修改配置文件(根据ip link的输出修改Interface):

# nano my_network

启用my_network配置:

# netctl enable my_network
使用 netctl-ifplugd
警告: 不要将这种方式与 netctl enable profile 混用。

另一种方案:使用netctlnetctl-ifplugd插件,方便的连接到网络: 安装ifplugd,这是被netctl-ifplugd 所依赖的:

# pacman -S ifplugd

然后启用它。interface_name是你的网卡名称:

# systemctl enable netctl-ifplugd@interface_name.service
提示: Netctl亦提供了netctl-auto,可与netctl-ifplugd一起管理有线配置。
静态 IP
使用 netctl

复制一个简单的配置样例/etc/netctl/examples/etc/netctl/

# cd /etc/netctl
# cp examples/ethernet-static my_network

根据你的需要修改配置文件(修改InterfaceAddressGatewayDNS):

# nano my_network

然后启用创建的配置文件:

# netctl enable my_network

无线网络

注意: 如果你的无线网卡需要固件(如前所述),安装包含你所需固件的软件包。大部分情况下 linux-firmware会包括你需要的固件。对其他网卡来说,他们的固件可能在另外的软件包中。比如:
# pacman -S zd1211-firmware
查看此文以获取更多信息。

安装iw(若需要,可安装wireless_tools)与wpa_supplicant,你需要用它们来连接网络:

# pacman -S iw wpa_supplicant wireless_tools
添加无线网络
使用 wifi-menu

安装dialogwifi-menu依赖于它:pacman -S dialog
在完成一下部分的安装并重新启动电脑后,你可以使用wifi-menu interface_name(interface_name是你的无线网卡名),或者直接:

# wifi-menu
警告: 你一定要确保该命令是在电脑重新启动以后执行的。否则这个命令会和你在chroot之前的命令相冲突。此外,你还可以使用一下命令提供的模版来配置一份网络设置文件,这样你就不用担心wifi-menu 命令的问题了。
使用手动调节netctl配置文件

/etc/netctl/examples 复制一份模版到 /etc/netctl:

# cd /etc/netctl
# cp examples/wireless-wpa my_network

按照需要修改模版(InterfaceESSIDKey):

# nano my_network

使其启动时自动启动:

# netctl enable my_network
自动连接到已知网络
警告: 不要将这种方式与已启用的无线连接配置文件(profile)一同使用,例如netctl enable profile

安装wpa_actiond,它被netctl-auto依赖:pacman -S wpa_actiond

激活netctl-auto服务,他会自动连接到已知的网络并且优雅的处理重新连接和漫游:

# systemctl enable netctl-auto@interface_name.service
提示: Netctl亦提供netctl-ifplugd,他可以和netctl-auto同时使用,用来处理自动有线连接。

调制解调器,ISDN 或 xDSL(PPPoE)

关于xDSL,拨号和ISDN连接,参见Direct Modem Connection

创建初始 ramdisk 环境

注意: 大部分用户都不需要在安装时修改此文件。
如有需要,配置 /etc/mkinitcpio.conf(参阅mkinitcpio (简体中文)),然后执行以下命令创建initramfs:
提示: 若使用btrfs,或许需要执行 ln -s /usr/bin/{true,fsck.btrfs} 以屏蔽某个错误讯息[5]
# mkinitcpio -p linux
提示: 此文件负责微调初始内存文件系统initramfs。(曾被称为初始化内存磁盘或「initrd」)。initramfs是启动时供内核读取的压缩镜像。目的是引导系统使其能够读取根文件系统。所以它需要装入IDE、SCSI、SATA或USB/FW等设备所需模块。initramfs手动或通过udev装入所需的模块后,会将控制权交给内核,继续启动过程。因此initramfs仅需要包含读取根文件系统的必要文件。大部分内核模块都是在初始化过程中由udev装入。

如果根文件系统使用RAID或LVM,必须配置正确的HOOKS。详情请查看 RAID/etc/mkinitcpio.conf。如果使用非US键盘,请添加「keymap」钩子以载入本地键盘映射。如果需要通过如下设备启动,请按需配置HOOKS:USB设备、FireWire、PCMCIA、NFS、软RAID、LVM2、加密卷和DSDT等。

你需要正确的配置hooks,如果你的根分区位于USB硬盘,RAID,LVM,或者/usr是一个单独的分区。

编辑 /etc/mkinitcpio.conf 并使用如下命令重新产生 initramfs 文件:

# mkinitcpio -p linux
  • 另:在QEMU上安装Archlinux(比如使用 virt-manager) 或许需要 在 mkinitcpio.conf 中添加virtio模块以成功启动:
# nano /etc/mkinitcpio.conf
MODULES="virtio virtio_blk virtio_pci virtio_net"

设置 Root 密码

passwd 设置一个root密码:

# passwd

安装配置启动加载器

对于BIOS主板

BIOS用户有多个引导器可用,完整列表在。选择一个用起来顺手的。这里列出两个最常用的:

  • syslinux目前只能加载它所安装的硬盘上的文件。它的配置文件相对来说容易理解。模版如下:[6]
  • grub功能丰富且支持更复杂的情况。他的配置文件更像是一种脚本语言,对新手来说可能用起来困难一些。我们推荐你使用自动产生的配置文件。
Syslinux

然后安装syslinux,使用syslinux-install_update命令自动安装文件(-i),设置分区为活动分区,(-a),安装MBR (-m):

提示: 如果你的硬盘分区方式为GPT,安装gptfdisk,因为它包含sgdisk——用来设置GPT特有的启动标志。这时你需要使用-g而不是-m
# pacman -S gptfdisk

安装 syslinux:

# pacman -S syslinux
# syslinux-install_update -iam ## 或者syslinux-install_update -iag

编辑/boot/syslinux/syslinux.cfg,将/指向正确的根分区;这是必须的,否则Arch启动不起来。将「sda3」修改为实际的根分区(若你是依照上面的例子分的区,那么根分区当是/dev/sda1;同样,亦修改LABEL archfallback

# nano /boot/syslinux/syslinux.cfg
...
LABEL arch
 ...
 APPEND root=/dev/sda3 rw

更多讯息,参阅 syslinux条目

Grub

安装grub包并安装它到MBR中:

# pacman -S grub
# grub-install --target=i386-pc --recheck /dev/sda
注意:
  • 对于/dev/sda,须根据实际分区自行调整;在块设备后附加数字(如/dev/sda1)。
  • BIOS主板上的GPT分区需要『BIOS 引导分区』。参阅 GPT 特有指令
  • 一个样例文件会作为grub包的一部分安装到/boot/grub/grub.cfggrub-*系列命令或许不会覆盖之。请确认你改动的是grub.cfg文件而非grub.cfg.new这样的文件。

虽然完全可手动配置grub.cfg,但建议用户自动生成这个文件。

提示: 要搜索硬盘上安装的其它操作系统,请先安装os-prober
# grub-mkconfig -o /boot/grub/grub.cfg
Note: 可能会出现重复菜单项,请参考 GRUB#Redundant_menu_entries.

详细配置信息请阅读 grub条目

对于 UEFI 主板

对于UEFI引导器,这里有多个选择。完整的列表参见此处。请先选择一个用起来可能顺手的,在此列出几个常用的选择:

  • gummiboot是一个小型UEFI引导管理器,提供一个基本的EFISTUB内核与其他UEFI应用的菜单。这是推荐的UEFI引导方式。
  • GRUB是一个更加完整的引导器,作为gummiboot不能正确引导的备用选择。
Note: 对于UEFI引导模式,磁盘需要有GPT分区表与ESP分区(FAT32格式,512 MiB或更大,gdisk type为EF00)。在下方的示例中,假设ESP被挂载至/boot
Gummiboot

安装gummiboot,执行gummiboot install以安装引导程式至EFI System Partition:

# mount -t efivarfs efivarfs /sys/firmware/efi/efivars              # 已经挂载可以忽略
# pacman -S gummiboot
# gummiboot install

你需要手动创建一个配置文件,为Arch Linux添加一个菜单项到gummiboot管理程式。创建/boot/loader/entries/arch.conf并添加以下内容,替代/dev/sdaX为你的根分区(比如/dev/sda2):

# nano /boot/loader/entries/arch.conf
title          Arch Linux
linux          /vmlinuz-linux
initrd         /initramfs-linux.img
options        root=/dev/sdaX rw

欲知明细讯息,参见gummiboot

GRUB

安装grubefibootmgr并运行grub-install来安装引导器:

# mount -t efivarfs efivarfs /sys/firmware/efi/efivars              # 已经挂载可以忽略
# pacman -S grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck

下一步,尽管手动建立grub.cfg是一个很好的方法,不过对于新手来说我们推荐自动生成一个:

提示: 为了自动搜寻您电脑上的现有系统, 在下一个命令运行之前先安装 os-prober。即使os-prober不知道如何正确的检测到UEFI系统。
# grub-mkconfig -o /boot/grub/grub.cfg

更多信息,参见GRUB (简体中文)

卸载分区并重启系统

先离开chroot环境:

# exit

卸载/mnt中挂载的系统:

# umount -R /mnt

重启计算机:

# reboot
提示: 确保移除安装媒介(并还原BIOS中的启动选项),否则可能会启动后会回到安装界面。

Template:Beginners' Guide navigation (简体中文)