2.將根文件系統(tǒng)加載到諸如 sysroot 之類的臨時目錄中(某些 Linux 恢復(fù) CD 將自動為您執(zhí)行此操作)。例如,在將系統(tǒng)引導(dǎo)到恢復(fù)模式下并且根文件系統(tǒng)使用的是第 3 分區(qū)時,根文件系統(tǒng)磁盤將被識別為 /dev/sdc。 [root@linuxhost ~]#mount /dev/sdc3 sysroot
3.將恢復(fù)系統(tǒng)根目錄切換為 sysroot,以便您可以訪問問題服務(wù)器系統(tǒng)的根文件系統(tǒng)。 [root@linuxhost ~]#chroot sysroot
4.提取 initrd 映像。
a.對于 Red Hat Enterprise Linux 第 3 版之前的版本和 SUSE Linux Enterprise Server 第 9 版之前的版本: [root@linuxhost ~]#cp /boot/initrd-x.x.x-x.ELsmp.img ./initrd.gz
[root@linuxhost ~]#mkdir temp
[root@linuxhost ~]#gunzip ./initrd.gz
[root@linuxhost ~]#mount -o loop -t ext2 initrd temp
這段代碼將把 initrd 映像提取到 initrd 文件中;然后將使用 ext2 文件系統(tǒng)類型加載這個文件,以加載 temp。在此之后,您將看到所有文件被封裝到 initrd 映像中。
b.對于 Red Hat Enterprise Linux 第 4 版和更高版本或者 SUSE Linux Enterprise Server 第 10 版和更高版本: [root@linuxhost ~]#cp /boot/initrd-*.img ./initrd.gz
[root@linuxhost ~]#mkdir temp
[root@linuxhost ~]#cd temp
[root@linuxhost ~]#gzip -dc ../initrd.gz | cpio -id
在這些最新的 Linux 發(fā)行版中,initrd 映像也是用 cpio 壓縮的。這些命令將提取 temp 目錄下包含目錄結(jié)構(gòu)的整個文件系統(tǒng)。您現(xiàn)在應(yīng)當(dāng)可以在 temp 目錄的 initrd 映像中找到所有文件。
5.現(xiàn)在,您將在 temp 目錄下找到適用于 Red Hat Enterprise Linux 和 SUSE Linux Enterprise Server 第 10 版的 init 文件,或者適用于 SUSE Linux Enterprise Server 第 9 版之前的版本的 linuxrc 文件。此文件是包含將設(shè)備驅(qū)動程序載入到系統(tǒng)內(nèi)存中的所有命令的簡單 Linux shell 腳本。您可以通過文本編輯器或者其他編輯器來編輯它。
6.編輯 init 或 linuxrc 文件,以使根文件系統(tǒng)磁盤適配器出現(xiàn)在同一個類別中的所有其他存儲適配器的前面。在大多數(shù)情況下,根文件系統(tǒng)磁盤將是帶有 sd 前綴的 SCSI 設(shè)備;您需要把諸如 FC 或 SAS HBA 驅(qū)動程序之類的所有其他存儲適配器放到根文件系統(tǒng)磁盤所依賴的驅(qū)動程序之后。
a.例如,如果根文件系統(tǒng)的物理磁盤與 SAS 適配器連接在一起,則 init 文件可以有如下所示的字段: .......
echo "Loading mptbase.ko module"
insmod /lib/mptbase.ko
echo "Loading mptscsi.ko module"
insmod /lib/mptscsi.ko
echo "Loading mptspi.ko module"
insmod /lib/mptspi.ko
echo "Loading mptsas.ko module"
insmod /lib/mptsas.ko
echo "Loading mptscsih.ko module"
insmod /lib/mptscsih.ko
echo "Loading qla2xxx.ko module"
insmod /lib/qla2xxx.ko
.......
在本例中,將所有其他 SCSI 適配器驅(qū)動程序(如 Qlogic HBA 驅(qū)動程序 qla2xxx.ko)放在 SAS 適配器驅(qū)動程序 mptsas.ko 之后。
b.如果使用的是 SUSE Linux Enterprise Server 第 10 版,它將類似以下代碼: modprobe scsi_mod $params
modprobe sd_mod $params
params=
for p in $(cat /proc/cmdline) ; do
case $p in
aacraid.*)
params="$params ${p#aacraid.}"
;;
esac
done
echo "Loading aacraid"
modprobe aacraid $params
modprobe scsi_transport_fc $params
modprobe firmware_class $params
params=
for p in $(cat /proc/cmdline) ; do
case $p in
qla2xxx.*)
params="$params ${p#qla2xxx.}"
;;
esac
done
echo "Loading qla2xxx"
modprobe qla2xxx $params
7.檢驗(yàn)?zāi)陌姹臼欠裾_,這樣才不會遺漏任何所需的驅(qū)動程序(例如,SAS 需要同時裝入 mptbase.ko、mptscsi.ko、mptspi.ko、mptsas.ko 和 mptscsih.ko,這樣您不能先裝入 qla2xxx.ko,再裝入 mptscsih.ko)。此外,您可能還需要檢查錯誤的輸入。
本新聞共
5頁,當(dāng)前在第
3頁
1 2 3 4 5