硬盘安装 Arch 到 SATA RAID 硬盘 (简体中文)

From ArchWiki

Jump to: navigation, search


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项后面
Personal tools