方永、南天紫雲

道亦有道

Archlinux 2012.07.15之后发布的镜像新手安装完全向导
2012年09月17日

2012年7月15日以后的Arch Linux镜像不再有AIF(一个简易的图形化安装向导),这包括2012.09.07及以后的版本,而是使用纯命令的方式安装,这给新手造成许多不便,于是做了一个简明的安装向导/教程,而期望更多的人走近Arch Linux的世界。

Arch Linux是一个很有特点的Linux发行版,论排名远不止DistroWatch中的那个位置,它的简洁、纯净,深深吸引了大批的linuxer。

这里有一个官方wiki上的新手向导,下面只是提供一个简洁的面向安装的安装过程,参照这里的步骤。

一、官网或者其它地方下载系统镜像。

二、制作安装引导

可以选择光盘安装、U盘安装、网络安装、硬盘安装等方式。简要介绍一下U盘安装与硬盘安装。

  1. U盘安装:

    Linux下用此命令将系统镜像写入到U盘:

    dd if=archlinux.iso of=/dev/sdx
    

    当然,更普遍的情况,在Windows中使用Image Writer完成启动U盘的制作。

    然后插好U盘,重启电脑,按F12,F10,F9等键,选择U盘启动。

  2. 硬盘安装:

    这种安装方法不需要额外的硬件介质,缺点是过程比较繁杂。

    (1)下载grub4dos,提取其中的grldrgrldr.mbr到第一个系统分区(一般默认是C盘),并在此处新建一个文本文件menu.lst(注意扩展名是.lst),并加入如下内容:

    title install Arch Linux
    find --set-root /img/archlinux-2012.09.07-dual.iso
    map --mem --heads=0 --sectors-per-track=0 /img/archlinux-2012.09.07-dual.iso (0xff)
    map --hook
    chainloader (0xff)
    boot
    

    注意了,更改2、3行的镜像的路径与文件名。

    (2)然后编辑系统盘(C盘)根目录下的boot.ini(注意,先取消这个文件的只读属性,否则更改完后不能保存),在 [operating systems] 项底下添加 c:\grldr.mbr="Install Arch Linux" 如:

    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /noexecute=alwaysoff
    c:\grldr.mbr="Install Arch Linux"
    

    然后设置该文件属性为只读。并注意 timeout 项的时间不能太短,最好3秒以上,上面是系统默认的,30秒。

    这里有一个Win7添加grub4dos的批处理,或许可以用得上。

    注意:

    硬盘安装只是将系统镜像复制到了内存中(注:上面menu.lst并不只是这样做的,它兼容了小内存的情况,也许你需要在Windows中运行一下CHKDSK /F x:来优化一下存放系统镜像的分区),而Arch Linux并没有在内存盘镜像(init ramfs cpio image)中存在这样的HOOK,因此会出现启动失败的情况,用如下步骤解决:

    mkdir iso
    mount -t ntfs -o ro /dev/sdax iso
    modprobe loop
    losetup /dev/loop2 iso/img/archlinux.iso
    ln -s /dev/loop2 /dev/disk/by-label/ARCH-2012.09.07
    

    修改第2行:-t 参数指定文件系统类型,-o ro 说明以只读方式挂载,/dev/sdax是存放系统镜像的分区。

    修改第4行: 指定正确的系统镜像的目录和文件名。

    修改第5行: 可以先 ls /dev/disk/by-label/ 查看镜像的标签,然后修改为正确的名称。

    之后 exit 或者按 Ctrl+D

三、开始安装

启动界面如下:

archlinux boot

如果你的电脑CPU支持64位的指令集,请选择 Boot Arch Linux (x86_64)

下面是启动完成后的界面:

archlinux boot

设置键盘布局:

loadkeys us

archlinux boot

分区:

详细分区规划看这里,而实际上,你的硬盘并没有足够多的分区来这样细分,或者是一个已经使用的硬盘,很难或者不可以重新设置分区表,那么为Arch Linux只保留两个甚至是一个分区都是可以的。

Linux的硬盘一般都是这样命名的:sda、sdb、sdc 或者hda、hdb、hdc,那么执行

fdisk -l

这个命令来查看你安装的硬盘时,你只关注这样命名的设备就可以了。

archlinux boot

然后用

cfdisk /dev/sdx

来编辑你的硬盘的分区表:注意:高危操作,可能会导致数据丢失

archlinux boot

这是在虚拟机中,所以是一个1G大小没有分区的硬盘。

就分两个区了,一个挂载根目录,一个做交换分区。修改第二个新建的分区的类型为交换分区:

archlinux boot

将修改写入到硬盘:注意:高危操作,可能会导致数据丢失

archlinux boot

然后用 fdisk /dev/sdx”p”命令显示此硬盘的分区,确认上面的操作无误。

archlinux boot

接下来格式化分区,下例格式化为ext4文件系统:注意:高危操作,可能会导致数据丢失

archlinux boot

用到的命令: mkfs -t ext4 /dev/sdx

然后挂载此分区到 /mnt 并使用 pacstrap 命令安装软件包:

mount /dev/sdax /mnt
pacstrap /mnt base base-devel

执行时将有如下界面:

archlinux boot

一些基本的软件包安装完成:

archlinux boot

然后安装GRUB启动管理器:

BIOS情况:

pacstrap /mnt grub-bios

或者EFI:

pacstrap /mnt grub-efi-x86_64

注意:

安装启动管理器有风险,有可能导致电脑无法启动,你可以暂时使用grub4dos来引导你的系统(grub4dos安装参见这里),在menu.lst中添加如下内容:

title Arch linux
root (hd0,1)
kernel /boot/vmlinuz-linux root=/dev/sda2 ro
initrd /boot/initramfs-linux.img

注意,修改第2行为你刚创建的linux的分区,有grub4dos的命令行可按TAB键补全;修改第3行中分区名称。

至此,安装已基本完成,再来做一些基本的配置:

  1. 生成fstab,这个文件指定根目录挂载的位置:

    genfstab -p /mnt >> /mnt/etc/fstab
    
  2. chroot到新系统中:

    arch-chroot /mnt
    
  3. 修改主机名:

    /etc/hostname
    
  4. 修改时区:

    ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
  5. 设置 local在/etc/locale.conf中,设置控制台键盘布局和字体在/etc/vconsole.conf中;

    去掉/etc/locale.gen中本地语言的注释并用locale-gen生成本地化的语言文件:

    en_US.UTF-8 UTF-8
    zh_CN.UTF-8 UTF-8
    
    locale-gen
    

    设置本机语言为中文:

    localectl set-locale LANG=zh_CN.UTF-8
    
  6. 生成内存盘镜像:

    mkinitcpio -p linux
    
  7. 设置root(超级用户)的密码:

    passwd
    
  8. 输入 exit 或者 Ctrl+D 退出chroot环境,卸载之前挂载的根目录:

    umount /mnt
    

Arch Linux的安装就算完成了。当然,这只是一个基本的系统,还需要做一些工作。

Arch Linux的联网很简单:

安装过程中可能会遇到各种问题,在这里这里、or here 提问。