提示:本文或本章节的主题是“安装ArchLinux系统”。关于“为ArchLinux安装软件包”的内容,请查看。

提示:

翻译状态:

本文将指导怎样使用官方安装镜像启动的Live系统安装ArchLinux。安装介质现可提供无障碍辅助功能,对此使用无障碍功能安装ArchLinux页面有详尽描述。关于其它的安装方式,请您参阅安装过程分类下的其他条目。

建议在安装前阅读常见问题。对于本文中使用的惯用术语,请参阅阅读帮助。请将代码中粗体(也有可能是宋体、仿粗体字)的部份按实际情况替换成具体内容。

本手册致力简约且浅显易懂,建议您严格遵守每一节中的次序与指示执行安装。有关更详尽的说明,请您仔细阅读本手册内相应的ArchWiki文章或各种程序的Man指南或并把握核心工具和部份软件包的基础用法。若您须要交互帮助,可以访问ArchLinux英文社区的聊天群组或峰会甚至国际社区。

ArchLinux被设计为可以运行在配置为最低512MiB显存的x86_64构架的计算机上,但若果是从安装介质启动系统并成功安装在计算机硬碟中,则可能须要更多的显存。[1]基本安装方法将占用大于2GiB的硬碟储存空间。因为安装过程中须要从远程储存库获取软件包,计算机将须要一个有效的互联网联接。

安装前的打算[编辑|编辑源代码]获取安装映像[编辑|编辑源代码]

打开下载页面,并按照须要的引导方法,获取ISO文件或netboot映像以及相应的PGP签名。

验证签名[编辑|编辑源代码]

建议使用前先验证所下载文件的签名,非常是从HTTP镜像源/非官方镜像库房下载的文件,由于HTTP联接通常来说容易受到拦截而提供恶意文件,而非官方镜像库房可能会对镜像的文件进行恶意更改。验证签名也能及时发觉文件受损。

在一台早已安装GnuPG的系统上(大部份Linux系统和macOS默认预装),可通过下载PGP签名(在下载页面的Checksums下方)到ISO文件所在的路径,之后用以下形式:

$ gpg --keyserver-options auto-key-retrieve --verify archlinux-版本-x86_64.iso.sig

另外,在一台早已安装ArchLinux的计算机上可以通过以下方法验证:

$ pacman-key -v archlinux-版本-x86_64.iso.sig

注意:

提示:在Windows上,您可尝试Gpg4win,注意:您所下载、安装和使用的Gpg4win程序须要您自行甄别其真假。

打算安装介质[编辑|编辑源代码]

ArchLinux的ISO映像可以被制做成多种类型安装介质,如U盘、和带有PXE的网路安装映像。请依照合适的文章与教程,使用ISO文件为自己打算安装介质。

对于Netboot映像,请根据打算用于UEFI引导的USB闪存驱动器。

启动到live环境[编辑|编辑源代码]

注意:ArchLinux安装镜像不支持UEFI安全启动(SecureBoot)功能。假如要引导安装介质,须要。假如须要,可在完成安装后重新。

选择从带有Arch安装文件的介质启动,一般是须要在计算机启动加电自检时快速按下某个键位(例如部份显卡会是F12键)。启动时的画面也可能会有提示,详情请参考自己的计算机的说明书或显卡说明书。当引导加载程序菜单出现时,您将会以root身分登入步入一个虚拟控制台,默认的Shell是Zsh。

提示:安装映像在UEFI模式下使用systemd-boot引导linux镜像安装教程,在BIOS模式下使用syslinux引导。分别使用e或Tab来输入。Netboot映像使用iPXE,可以在启动选项菜单手指定启动参数。请参阅README.bootparams获取列表。

假如要使用其他控制台(比如在安装时使用Lynx查看本手册),可以使用Alt+箭头快捷键切换不同的控制台。要配置文件,可以使用mcedit(1)、和等文本编辑软件。请参阅packages.x86_64获取安装介质中包含的软件包列表。

关于archinstall的提示[编辑|编辑源代码]

倘若您认为用命令行安装过分冗长,可以试试官方的安装脚本archinstall。详情可参见archinstall。

但不建议初学者用archinstall走捷径,由于自动安装ArchLinux本身就是ArchLinux教学实操中重要的一环,少了这个环节,会让初学者面对一些基础问题时束手无策,为自己和社区带来何必要的麻烦。

使用archinstall前,请先。

# archinstall

提示:使用archinstall安装基础系统之后,可能须要进行一些配置,能够使用户体验得以优化提高。参见与建议阅读等页面。

配置控制台按键布局和字体[编辑|编辑源代码]

系统启动后,控制台按键布局默认为us(英式鼠标)。倘若您须要列举所有可用的按键布局,可以使用以下命令

# localectl list-keymaps

倘若您想要修改按键布局,可以使用loadkeys(1)。例如,要添加日语按键布局:

# loadkeys de-latin1

提示:英文环境用户切勿照搬以上设置,默认按键布局(us/C)早已可以正常地使用。

坐落/usr/share/kbd/consolefonts/目录中,设置方法请参考setfont(8)。比如,要使用适宜的最大字体之一,请运行以下命令:

# setfont ter-132b

验证引导模式[编辑|编辑源代码]

要验证系统目前的引导模式,请复查UEFI位数:

# cat /sys/firmware/efi/fw_platform_size

假如命令结果为64,则系统是以UEFI模式引导且使用64位x64UEFI。假如命令结果为32,则系统是以UEFI模式引导且使用32位IA32UEFI,尽管其受支持,但引导加载程序只能使用systemd-boot和GRUB。假如文件不存在,则系统可能是以BIOS模式(或CSM模式)(这两种模式一般出现在老旧的笔记本或未经配置的虚拟机上)引导。假如系统没有以您想要的模式(UEFI或BIOS)引导启动,请您参考自己的计算机或显卡说明书。

联接到互联网[编辑|编辑源代码]

要在Live环境中配置网路联接,请遵守以下步骤:

确保系统早已列举并启用了,用ip-link(8)检测:

# ip link

对于无线局域网(Wi-Fi)和无线广域网(WWAN),请确保网卡未被rfkill禁用。联接到网路:配置网路联接:用检测网路联接:

# ping archlinux.org

注意:默认情况下,安装映像在启动时早已预先配置好并启用了systemd-networkd、systemd-resolved、iwd和ModemManager(英文:ModemManager)。但在早已安装完成了的系统之中并非这么。

更新系统时间[编辑|编辑源代码]

在Live环境中systemd-timesyncd默认启用linux镜像安装教程,也就是说当系统早已创建互联网联接后linux中文乱码,系统时间将手动同步。

使用timedatectl(1)确保系统时间是同步的,建议提早执行timedatectlset-timezone地区/城市(中国用户可以使用timedatectlset-timezoneAsia/Shanghai以设置南京时间):

# timedatectl

创建硬碟分区[编辑|编辑源代码]

系统假如辨识到计算机的外置硬碟、U盘或则联通硬碟等类型c盘,都会将其分配为一个,如/dev/sda、/dev/nvme0n1或/dev/mmcblk0。可以使用lsblk或则fdisk查看:

# fdisk -l (此处为小写字母l)

结果中以rom、loop或则airootfs结尾的设备可以被忽视。结果中以rpbm、boot0或则boot1结尾的mmcblk*设备也可以被忽视。

注意:假若您想要的c盘没有显示下来,。

提示:在分区之前,请您检测NVMe驱动器和先进低格硬碟是否使用了最佳逻辑磁道大小。须要注意的是,修改逻辑磁道大小后,可能会造成在Windows系统中出现兼容性问题。

对于一个选取的设备,以下分区是必需要有的:

请使用分区工具(fdisk、parted、cfdisk等等)更改分区表。诸如:

# fdisk /dev/要被分区的磁盘

注意:

linux镜像安装教程_镜像安装linux系统_linux镜像文件怎么安装

分区方案示例[编辑|编辑源代码]对于UEFI与分区表的c盘分区方案已安装系统上的挂载点分区建议大小

/boot1

/dev/efi_system_partition

EFIsystempartition

1GiB。

[SWAP]

/dev/swap_partition

Linuxswap(交换空间)

起码4GiB

/dev/root_partition

Linuxx86-64根目录(/)

设备剩余空间,起码23-32GiB

假如使用的引导加载程序才能从根c盘卷中加载内核和initramfs映像,则可以使用(比如/efi)。请您参阅中的警告部份。对于传统BIOS与分区表的c盘分区方案已安装系统上的挂载点分区建议大小

[SWAP]

/dev/swap_partition

Linuxswap(交换空间)

起码4GiB

/dev/root_partition

Linux

设备剩余空间,起码23-32GiB

另请参阅。

低格分区[编辑|编辑源代码]

创建分区后,必须使用合适的文件系统对每位新创建的分区进行低格。详情请参阅。

注意:对于堆叠式块设备(stackedblockdevices)请使用恰当的块设备路径替换下文中的/dev/*_partition处。

比如,要在根分区/dev/root_partition上创建一个Ext4文件系统,请运行:

# mkfs.ext4 /dev/root_partition(根分区)

假如你要创建一个EFI系统分区,使用mkfs.fat(8)将其为Fat32。

警告:只有在分区步骤中创建EFI系统分区时才须要低格。假如这个c盘上早已有一个EFI系统分区了,将它重新低格会破坏其他已安装操作系统的引导加载程序。

# mkfs.fat -F 32 /dev/efi_system_partition(EFI 系统分区)

假如创建了交换分区,请使用mkswap(8)将其初始化:

# mkswap /dev/swap_partition(交换空间分区)

挂载分区[编辑|编辑源代码]

将根c盘卷到/mnt,比如:

# mount /dev/root_partition(根分区) /mnt

之后使用mkdir(1)在/mnt下创建任何剩余的挂载点(比如,为/boot而创建/mnt/boot),并按相应的层级次序挂载相应的c盘卷。

提示:使用--mkdir选项运行mount(8)来创建指定的挂载点。或则,先使用mkdir(1)创建挂载点再挂载。

注意:挂载分区一定要遵守次序,先挂载根(root)分区(到/mnt),再挂载引导(boot)分区(到/mnt/boot或/mnt/efi,假如单独分下来了的话),最后再挂载其他分区。否则您可能遇见安装完成后未能启动系统的问题。参见。

对于UEFI系统,挂载EFI系统分区:

# mount --mkdir /dev/efi_system_partition /mnt/boot

假如创建了交换空间卷,请使用swapon(8)启用它:

# swapon /dev/swap_partition(交换空间分区)

稍后genfstab(8)将手动检查挂载的文件系统和交换空间。

开始安装系统[编辑|编辑源代码]选择镜像站[编辑|编辑源代码]

系统的文件/etc/pacman.d/mirrorlist中定义了软件包会从那个镜像站下载。在LiveCD启动的系统上,且在联接到互联网后,reflector会通过选择20个最新同步的HTTPS镜像站并按下载速度对其进行排序来更新镜像列表(因为只考虑最新的20个镜像站,其结果常不佳)。

在列表中,越靠前的镜像站在下载软件包时,都会有越高的优先级。请您检测/etc/pacman.d/mirrorlist文件,瞧瞧列举的镜像站的次序是否合适。假如不合适,可以自动编辑文件,将离您所处地理位置近来的镜像移到文件的颈部,同时也应当考虑一些其他的衡量标准。

假如/etc/pacman.d/mirrorlist文件中没有合适的镜像站,可以自动从archlinux官方网站的镜像站列表下载一份。这须要您所在的网路才能正常访问archlinux官方网站。诸如,使用curl(1)下载坐落中国内地的HTTPS镜像站:

# curl -L 'https://archlinux.org/mirrorlist/?country=CN&protocol=https' -o /etc/pacman.d/mirrorlist

或则,也可以通过安装pacman-mirrorlist包来获取按国家分列的原始镜像列表。如此做的缺点是,pacman一直会使用当前配置中的镜像站来下载软件包数据库和pacman-mirrorlist包,这可能会很慢。在选购了能用的镜像以后,可以执行

# pacman -Sy pacman-mirrorlist

再将/etc/pacman.d/mirrorlist.pacnew复制到/etc/pacman.d/mirrorlist并进行编辑。

或则,假如您记得想要使用的镜像站的URL,这么可以自动编辑/etc/pacman.d/mirrorlist文件并自动输入URL。

这个文件接出来都会被pacstrap拷贝到新系统里,所以请您确保设置正确。

更新秘钥环[编辑|编辑源代码]

Live系统上面的秘钥环很容易过时,使用过时的镜像安装系统很容易造成在pacstrap的时侯难以正常安装软件包(提示为文件签名受损)。

# pacman -Syu archlinux-keyring

使用前面的命令更新当前Live系统的秘钥环,也可以避免由于意外造成开发者公钥失窃用导致的安全问题。

假如您在Live系统里启用了英文社区库房或其他非官方用户库房,也不要忘了一齐更新其秘钥环。

参见pacman/软件包签名。

安装必需的软件包[编辑|编辑源代码]

注意:不仅/etc/pacman.d/mirrorlist之外的软件或配置不会从Live环境传递到安装的系统中。因而,若您在Live环境的/etc/pacman.conf里启用了非官方用户库房(如archlinuxcn库房),请在新安装的系统自动启用之。

使用pacstrap(8)脚本,安装base包软件包和Linux内核以及常规硬件的固件:

# pacstrap -K /mnt base linux linux-firmware

这时侯可以同时额外安装计算机的CPU微码包。假如计算机是Intel的CPU,使用intel-ucode包,AMDCPU则使用amd-ucode包。也可以暂时都不安装,等到步入系统后再安装。

linux镜像文件怎么安装_镜像安装linux系统_linux镜像安装教程

注意:安装微码包有可能使你下载完上述软件包(如base包)后出现难以安装软件包的情况,这时你可能有必要自动删掉微码包。

提示:

base包软件包并没有包含Live环境中的全部程序。因而要获得一个功能齐全的基本系统,可能须要安装更多软件包。要安装其他软件包或软件包组(例如base-devel包组),请将它们的名子追加到下边的pacstrap命令后(以空格分隔),或则也可以在后使用pacman自动安装。非常要考虑安装:

文件pkglist.x86_64.txt中包含Live系统安装的软件包列表。

配置系统[编辑|编辑源代码]生成fstab文件[编辑|编辑源代码]

通过以下命令生成fstab文件(用-U或-L选项设置UUID或卷标):

# genfstab -U /mnt > /mnt/etc/fstab

强烈建议在执行完以上命令后,检测一下生成的/mnt/etc/fstab文件是否正确。假如有问题,最好在现今自动更改。

可以自动更改/mnt/etc/fstab添加挂载选项(参见和)。诸如,给固态硬碟的ext4文件系统添加discard选项以启用TRIM。

警告:在启用TRIM功能前,请确保SSD支持TRIM,否则可能引起数据遗失!

chroot到新安装的系统[编辑|编辑源代码]

通过以下命令chroot到新安装的系统:

# arch-chroot /mnt

提示:此处使用的是而不是直接使用linux web服务器,注意不要输错了。

设置时区[编辑|编辑源代码]

通过以下命令设置:

# ln -sf /usr/share/zoneinfo/Region(地区名)/City(城市名) /etc/localtime

提示:比如,在中国内地须要将时区设置为上海时间,这么请运行#ln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtime。时区名称是青岛而非上海,是由于北京是该时区内人口最多的城市()。

之后运行hwclock(8)以生成/etc/adjtime:

# hwclock --systohc

这个命令假设已设置硬件时间为UTC时间。详尽信息请查看。

为了避免时钟甩尾并确保时间确切,请使用NTP(网路时间合同,NetworkTimeProtocol)顾客端(比如systemd-timesyncd)设置。

区域和本地化设置[编辑|编辑源代码]

程序和库假如须要本地化文本,都依赖区域设置,前者明晰规定了地域、货币、时区日期的格式、字符排列方法和其他本地化标准。

须要设置这两个文件:locale.gen与locale.conf。

编辑/etc/locale.gen,之后取消掉en_US.UTF-8UTF-8和其他须要的UTF-8区域设置前的注释(#)。

接着执行locale-gen以生成locale信息:

# locale-gen

之后创建locale.conf(5)文件,并,例如:

/etc/locale.conf

LANG=en_US.UTF-8

另外对于英文用户:

linux镜像文件怎么安装_镜像安装linux系统_linux镜像安装教程

提示:设置的LANG变量需与locale设置一致,否则会出现以下错误:

CannotsetLC_CTYPEtodefaultlocale:Nosuchfileordirectory

警告:并不推荐在此设置任何英文locale,这可能会造成tty上英文显示为小方块(由于TTY下没有CJK字体)。假如您不时常使用tty,或是稍后须要安装桌面环境,则在不使用tty后可以设置为英文的locale。为了使TTY显示英文,也可以使用打了补丁的内核,如linux-lilyCNRepo。

假如须要更改,可编辑vconsole.conf(5)使其常年生效,以英语鼠标(qwertz)为例:

/etc/vconsole.conf

KEYMAP=de-latin1

注意:假如按键为标准英式鼠标(中国最常见的按键布局),切勿照搬如上设置。

网路配置[编辑|编辑源代码]

创建文件:

/etc/hostname

主机名

请接着完成新安装的环境的网路配置,配置过程中可能须要安装合适的软件。

警告:请按上述网路配置指引正确配置好网路后再重新启动,否则系统重新启动后可能难以联接网路(不过可以用LiveCD重新步入进行配置)。诸如在虚拟机软件VirtualBox安装并使用桥接模式时就须要配置DHCP。

关于initramfs[编辑|编辑源代码]

一般不须要自己创建新的initramfs,由于在执行pacstrap时早已安装linux包,这时早已运行过mkinitcpio了。

假如是LVM(德语:)、系统加密或等分区配置,请更改mkinitcpio.conf并用以下命令重新创建一个Initramfs:

# mkinitcpio -P

设置root密码[编辑|编辑源代码]

使用以下命令设置root:

# passwd

提示:建议为root用户选择一个并。

安装引导程序[编辑|编辑源代码]

须要安装Linux引导加载程序,能够在安装后启动系统,可以使用的的引导程序已在引导加载程序中列举,请选择一个安装并配置它,GRUB是一个比较常见且通用的选择。

警告:这是安装的最后一步也是关键的一步,请点击上述链接并按指引正确安装好引导加载程序后再重新启动。否则计算机重新启动后将难以正常步入ArchLinux系统。

重新启动计算机[编辑|编辑源代码]

输入exit或按Ctrl+d退出chroot环境。

可选用umount-R/mnt自动卸载被挂载的分区:这有助于发觉任何“繁忙”的分区,并通过fuser(1)查找缘由。

最后,通过执行reboot重启系统,systemd将手动卸载一直挂载的任何分区。这时侯不要忘掉移除安装介质,之后使用root帐户登入到新系统。

提示:若系统出现问题,可尝试重新步入Chroot环境以补充、完善安装和配置,或查看以定位、修复问题。

安装后的工作[编辑|编辑源代码]

创建非特权帐户、图形用户界面的安装、声音管理、触摸板支持等系统管理教程和后期工作参见建议阅读及其子页面。

感兴趣的各种程序,请参见应用程序列表。

还建议新用户阅读给新用户的关于怎么不去砸烂ArchLinux系统的建议一文。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复