# Hard Disk Installation (简体中文)

# 硬盘安装Arch Linux（支持2009.08的ISO）

如果你目前正在使用windows系统，那么你可能想尝试一下Arch Linux，而又不想马上把windows系统删除，那么你可以按照下面的方法，在保留windows系统的同时来安装、体验Arch Linux。

## 需要准备的工具

- Arch ISO镜像
- GRUB4DOS
- 可以运行的windows系统

P.S.：GRUB4DOS 可以用MAXDOS替代，如果机器上已经有安装，可以不用再装GRUB4DOS。

## 启动安装

- 首先把iso镜像和grldr拷贝到C盘根目录。下面假定C盘为第一个硬盘的第一个分区，文件系统为fat32。如果你使用不同的分区，记得在下面的操作中进行相应的修改。

- 利用你喜欢的工具（如ultraiso，虚拟光驱等）从iso镜像中提取出所需的内核文件（2008.06的内核文件是不能用作硬盘安装了的，可以从2008.03中提取）

    /isolinux/vmlinuz
    /isolinux/initrd.img

把这两个文件也放到C盘根目录下。

- 修改c:\boot.ini文件，添加grub启动项

先用命令"attrib -r -h -s c:\boot.ini"去掉该文件的写保护，然后按照下面的内容进行修改：

    [boot loader]
    timeout=3
    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
    C:\grldr="grub4dos"

用命令"attrib +r +h +s c:\boot.ini"恢复文件属性

- 增加c:\menu.lst文件，并在其中添加Arch启动项：

    title  Install Arch Linux
    root   (hd0,0)
    kernel /vmlinuz ro
    initrd /initrd.img

上面 root (hd0,0)用来指定内核所在分区，这里表示第一个硬盘第一个分区，即C盘，其它情况类推。 如果想在安装过程中提高控制吧分辨率，可以在内核一行加入参数：vga=791。791的分辨率为1024x768，其它参数请自行搜索。

- 重新启动系统，在启动菜单上选择"grub4dos"，然后选择"Install Arch Linux"。

在内核启动后，就可以进入安装环境，剩下的安装过程基本同光盘安装一样，可以参考正式的安装向导。

- 事实上，可以使用grub的加载ISO功能直接启动光盘

    grub> map --mem (hd0,1)/archlinux-2009.08-core-i686.iso (0xff)
    grub> map --hook
    grub> chainloader (0xff)
    grub> boot

对2009.08的ISO，启动之后就可以看到光盘的启动菜单，选择LiveCD模式，在启动过程中，会停止在/dev/archiso的加载上，参见下面的注意事项手工处理，然后按Ctrl+D继续启动过程。

## 需要注意的地方

- 在进入安装环境后，如果你打算用光盘作为软件包源，那么你首先要手动挂载iso文件（因为光驱中没有光盘）：

    #mkdir /root/win
    #mount -t vfat /dev/sda1 /root/win
    #mount -o loop /root/win/arch-base.iso /src

- 若是用2008.06的ISO，由于目录结构不同，需要先将ISO挂载到一个别的目录，比如/cdrom

再将/cdrom/addons/core_pkgs 链接到 /src/core/pkg：

    #mkdir /win /cdrom /src/core
    #mount -t ntfs-3g /dev/sda1 /root/win
    #mount -o loop /root/win/arch-base.iso /cdrom
    #ln -s /cdrom/addons/core_pkgs /src/core/pkg

然后才能运行/arch/setup。

注意，不要把任何文件系统挂载在/mnt下，因为Arch安装程序会把它挂载为安装环境。

- 若是用2009.08的ISO，在启动过程中会查找/dev/archiso 文件，如果找不到（因为使用的硬盘ISO方式），会得到一个shell。

这里需要首先mount 硬盘分区，然后使用losetup将ISO文件挂到某个loop设备上面，最后将这个loop设备ln到/dev/archiso上。

    #mkdir /win
    #mount -r -t ntfs /dev/sda1 /win
    #modprobe loop
    #losetup /dev/loop6 /win/archlinux-2009.08-core-i686.iso
    #ln -s /dev/loop6 /dev/archiso

执行完上述操作后，/dev/archiso就是指向硬盘上的ISO文件。按Ctrl+D退出shell，启动程序会继续执行，启动LiveCD，启动完成后可以使用/arch/setup安装

- 安装完毕中，你可以选择安装grub引导器，或者继续使用grub4dos来引导Arch系统。对于“体验”用户，个人推荐使用后一种方法，因为如果以后要删除Arch或者重新安装windows时，它的后遗症最小。

修改c:\menu.lst，加入新的Arch系统启动项（假设/boot单独分区，并且位于编号为7的逻辑分区,/分区编号为8）：

    title  Arch Linux
    root   (hd0,6)
    kernel /vmlinuz-linux root=/dev/sda8 ro vga=791
    initrd /initramfs-linux.img

注意，如果你不懂得如何在Linux下修改windows文件，那么你可能需要先启动到windows去修改menu.lst文件。当然，如果你只是临时修改启动参数，那么可以在grub界面中对应地启动条目上按'e'就可以编辑它。

Category:

- Getting and installing Arch (简体中文)