硬盘安装 Arch 到 SATA RAID 硬盘 (简体中文)
From ArchWiki
Contents |
前言
以下“SATA RAID”是指由主板芯片组支持,并在BIOS中配置的,由两块或更多SATA硬盘组成的磁盘阵列. 这篇安装指南的目的在于说明如何硬盘安装archlinux到SATA RAID硬盘上.安装完后windows系统和archlinux可以共存.多重启动使用的是grub4dos. 注意安装完毕后,在linux中SATA RAID分区的设备目录是/dev/mapper/****,而不是/dev/sd*.
历史
在linux 2.4 内核中ATARAID内核架构提供了对SATA RAID的支持.在Linux 2.6内核中device-mapper提供了对SATA RAID的支持.Device-mapper在保持SATA RAID的I/O仍然在
内核级别运行同时,将它的设置交给了用户级别程序.这可以从在使用2.6内核时,SATA RAID的检测由用户级别的程序(dmraid)来执行可以看出.
Heinz Maulshagen编写了dmraid工具来检测RAID阵列并创见RAID阵列分区的映射.它支持的控制器基本上是廉价的主板板载SATA 软RAID控制器(软控制器指RAID的传输运算还
是由CPU来执行),例如HPT 37x, Intel, VIA, LSI,和板载硬SATA RAID控制器,如Nvidia NForce,Silicon Image Medley等.
成功的例子
在Nforce3芯片组,使用ArchLinxu 2008.12 ISO测试成功jetair
备份
在执行下面步骤备份硬盘中所有重要的资料,本指南并不提供任何担保,你自己将对按照此指南进行操作造成的所有结果负责.如果使用RAID 0 阵列,只要2块硬盘中有一块硬盘
损坏,所有的数据将会丢失.如果保存的数据很重要,建议使用RAID 1阵列或RAID0+1阵列.
安装步骤
概括
- 前期准备
- 准备安装文件
- 安装grub4dos
- 重启
- 安装dmraid
- 对SATA RAID分区
- 格式化和挂载分区
- 安装系统
- 重启到windows
- 完成安装
前期准备
- 在SATA RAID上安装好windows系统
- 为ArchLinux准备分区,不需要格式化
- 打印所有你需要的资料
- 准备一个U盘(或移动硬盘)
- 下载最新的ArchLinux ISO(截止2009年1月,最新版是2008.12,注意本文不适用于2008.06)
- 下载grub4dos
- 备份所有重要资料,避免它们!可能!在安装时丢失.
准备安装文件
- 这里假定windows安装到了硬盘的第一个分区
- 将下载的ArchLinux ISO拷贝到C盘根目录下,并改名为archlinux.iso
- 用压缩工具将iso中core-i686目录解压到U盘根目录(带目录结构)
安装grub4dos
- 下载grub4dos
- 解压缩grub4dos安装包中的grldr和grldr.mbr,和ArchLinux安装光盘映像中的vmlinuz,initrd.img到安装盘根目录
- 修改c:\boot.ini文件如下(这里假定windows安装在SATA RAID的第一个分区,并且SATA RAID盘是系统第一块硬盘.如果不是,请适当修改)
[boot loader] timeout=3 default=C:\grldr [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect C:\grldr="grub4dos"
- 建立c:\menu.lst如下
title Install Arch Linux root (hd0,0) kernel /vmlinuz ro initrd /initrd.img
重启
- 重启计算机,通过grub4dos进入arch安装界面
安装dmraid
- 在启动时主要看启动信息,记下U盘的设备名称(比如/dev/sdc1)
- 将U盘上的安装文件链接到安装文件存储目录.先按ALT+F2进入第二控制台.
# mkdir /win && mkdir /win2 # mount -t vfat /dev/sdc1 /win # modprobe loop && mount -o loop /win/archlinux.iso /win2 # ln -s /win2/core-i686 /src
- 安装dmraid程序,加载device-mapper模块,搜索SATA RAID硬盘分区
# modprobe dm_mod sata_sil # pacman -U /src/core-i686/pkg/dmraid* # dmraid -ay
- 至此SATA RAID分区应该可以被识别.下面来查看分区设备名
# ls -la /dev/mapper/*
- 显示(这是一个例子,你的可能有所不同)
/dev/mapper/control <-- 由dmraid建立,表明dmraid已经发现了raid阵列 /dve/mapper/nvidia_ddccbcbfp <-- raid硬盘阵列设备名 /dve/mapper/nvidia_ddccbcbfp1 <-- raid硬盘阵列中第一个分区设备名 /dve/mapper/nvidia_ddccbcbfp2 <-- raid硬盘阵列中第二个分区设备名 /dve/mapper/nvidia_ddccbcbfp3 <-- raid硬盘阵列中第三个分区设备名
- 用笔记下将要安装的ArchLinux的启动分区的设备名,以备一会修改menu.lst使用.
对SATA RAID分区
- 按ALT+F1进入原来的ArchLinux安装程序,进入分区步骤分区
- 选 Prepare Hard Drive
- 选Partition Hard Drives
- 选"OTHERS"
- 用ALT+F2中# ls -la /dev/mapper/*的结果作参考,手动输进设备名并回车
- 后续操作同普通分区操作相同
格式化和挂载分区
- 同普通步骤相同,/dev/mapper/****代表SATA RAID分区
安装系统
- 设置source,先选第一项"1 ****",再选第二项"SRC *****"
- 正常安装系统
- Configure,选"yes"使用hwdetect来检测硬件,其余选no.
- 加入你的芯片组模块(如果没有默认加载)和"dm_mod" 到/etc/mkinitcpio.conf的MODULES行(如果你是用RAID 1,你还需要加载"dm_mirror"
- 加入"dmraid"到mkinitcpio.conf的HOOKS行,位置在filesystems项前面,sata项后面
重启到windows
*修改c:\menu.lst如下 title Arch Linux root (hd0,2) kernel /boot/vmlinuz26 root=/dev/mapper/nvidia_ddaebcbfp3 initrd /boot/kernel26.img title Install Arch Linux root (hd0,0) kernel /vmlinuz ro initrd /initrd.img
- 注意
- root (hd0,2) <--(hd0,2)需要改成Linux的启动分区,比如如果在硬盘第二个启动Linux,则改为(hd0,1).具体请看grub文档.
- kernel /boot/vmlinuz26 root=/dev/mapper/nvidia_ddaebcbfp3 <--如果有/boot单独分区,则改为kernel /vmlinuz26 root=/dev/mapper/nvidia_ddaebcbfp3
- 其中"/dev/mapper/nvidia_ddaebcbfp3"需要改为刚才用笔记下的设备名.
- initrd /boot/kernel26.img <--如果有/boot单独分区,则改为kernel /kernel26.img
完成安装
- 重启系统,正常进入ArchLinux
注意
- 在安装完毕进入系统,然后用pacman -Syu升级时,如果升级内容包括内核,需要在升级前修改/etc/mkinitcpio.conf
- 加入你的芯片组模块(如果没有默认加载)和"dm_mod" 到/etc/mkinitcpio.conf的MODULES行(如果你是用RAID 1,你还需要加载"dm_mirror"
- 加入"dmraid"到mkinitcpio.conf的HOOKS行,位置在filesystems项前面,sata项后面