联想万全T168/T468 G5 塔式服务器,板载 LSI megaRAID software RAID 软磁盘阵列卡,两块250G SATA硬盘已经在主板bios里面设置成raid1。开机显示软 RAID 卡型号如下:
我安装的是Ubuntu 12.04 64位服务器版本。
开始的安装很顺利,到最后一步grub无法安装,出现致命错误,这个时候是关键了,不要慌张。在live USB的“拯救模式”里面打开一个终端。
以下是步骤:
# sudo -i #提权
2.查看raid阵列分区状况,获取 Linux 系统安装分区编号 用ls和blkid命令查mbr分区情况: # blkid # ls -l /dev/mapper
假如我的 raid 的 / 分区是 ddf1_XXXXXXXXXXp1,也有的raid的识别为 md126p1 样式。
3.挂载ubuntu安装根分区:
# mkdir target 或 # chroot /target /bin/sh
# mount /dev/mapper/pdc_XXXXXXXXXXXXp1 /target
pdc_XXXXXXXXXXXX 在安装过程中应该有,p1为分区编号,没有记住的话,df 命令可以列出来。
4.挂载其他所需的目录(使用 --bind) mount --bind /dev /target/dev mount --bind /proc /target/proc #经测试,此步可省略
mount --bind /sys /target/sys #经测试,此步可省略
5.Chroot 到raid阵列上的 Linux 系统
# chroot /target
6.创建device.map给grub
# echo "(hd0) /dev/mapper/pdc_XXXXXXXXXXXX" > /boot/device.map
这里的 pdc_XXXXXXXXXXXX 是raid阵列设备的的代号,代号后面不要再加分区编号
# cp /boot/device.map /boot/grub/
7.安装&更新 Grub
# grub-install --root-directory=/ /dev/mapper/pdc_XXXXXXXXXXXX 或 # grub-setup /dev/mapper/pdc_XXXXXXXXXXXX
grub会自动找到并且配置好ubuntu启动选项,生成/boot/grub/grub.cfg文件。
注意root-directory参数跟的是”/”,空格,” /dev/mapper/pdc_XXXXXXXXXXXX″,前一个目录参数是指定根目录,后一个目录参数是指定安装位置。
# update-grub #非必需
8.Grub 已经修复成功,我们还需要退出 chroot 环境、卸载已经挂载的设备与目录(以下操作可省略):
# exit #退出 chroot 环境 # umount /target/dev # umount /target/proc # umount /target/sys # umount /target
9.重启!
软raid不能自动安装grub的原因分析:
问题原因应该出自 Fake RAID 组成的逻辑卷起始并不是物理上的首磁盘,引起了 grub 安装到了错误的位置上,在raid的安装上,如果要mount到合适的/boot分区,就必须mount到/dev/md126pX这种设备上,而这些设备是没有所谓MBR的,而GRUB的安装参数则必须要放到/dev/md126上,这个小小的差异就导致了问题。
intel主板识别出的RAID名称为 isw_****,如果主板是AMD的将会得到 pdc_**** 的名称。
|