系統是一台hp lh-6000,好像已經買了好多年,安裝的是redhat 7.2, 一直執行正常。由於原來的硬碟空間不夠,所以,給機器加了一張scsi卡,原來已經內建有一張(設定為raid5), 然後,插入乙個外接的磁碟陣列櫃。那知道,重新開機出現如下錯誤:
mounting root filesystem
mount: error 6 mounting ext3
pivotroot: pivot_root(/sysroot, /sysroot/initrd) failed: 2
freeing unused kernel memory: 240k freed
kernel panic: no init found. try passing init= option to kernel.
硬體在其它地方測試都是沒問題的,如果將外接的磁碟陣列櫃的關閉電源,重新開機又可以正常進入!
在網上查詢,一般「mount: error 6 mounting ext3」都是說沒有把ext3驅動編譯到核心,但,原來的硬碟,已經是ext3格式了,可能性不大。
中間走了些彎路。不過,最後,似乎還是解決了。
主要是,開機自檢的時候,先出現那種內建的scsi卡,然後,再檢到新插進去的那張卡,所以,開始沒想到「碟符」調亂了。
解決方法,很簡單,如下:
ixpub.net 的 nntp 提了另外一種解決方法:
1. rescue mode login
2. adjust the order in your /etc/modules.conf, (rhel4 改為:/etc/modprobe.conf)
3. rebuild initrd (參考:
)修改檔案以後,需要重新編譯initrd檔案,使得在啟動時該模組被正確插入到模組中。
# cp /boot/initrd-(kernel-version).img /boot/initrd-(kernel-version).img.bak例如# mkinitrd -f initrd-$(uname -r).img $(uname -r)
cp /boot/initrd-2.4.21-27.0.2.el**p.img /boot/initrd-2.4.21-27.0.2.el**p.img.bak這個例子對乙個執行2.4.21-27.0.2**p核心的系統重建了initrd.img,根據自己系統的實際執行版本自行條成mkinitrd的引數(可以使用uname -r得到本機執行的核心版本號)。mkinitrd -v -f /boot/initrd-2.4.21-27.0.2.el**p.img 2.4.21-27.0.2.el**p
* mkinitrd的-v引數可以顯示initrd.img中包括的所有模組。或者參考這裡:外部儲存搶占sda裝置號的解決辦法http://www.chinaunix.net/jh/34/823626.html* mkinitrd的-f引數可以強制覆蓋initrd.img中已有的同名模組。
linux系統載入儲存時,時常會出現本地的裝置好sda被儲存搶占,而本地變成sdb、sdc等。這種現象是因為連線外部儲存的介面卡的優先順序比本地的scsi/fc的介面卡的優先順序高造成的。出現這種情況os啟動時會有swap報錯,給系統管理帶來一些麻煩,但這個問題可以通過更改os的核心實現改變驅動順序,具體過程如下。
1、修改/etc/modules.conf將本地的scsi卡或者光纖卡放置在後加的板卡後面.
alias eth0 tg3
alias eth1 tg3
alias scsi_hostadapter1 aic79xx
alias scsi_hostadapter qla2300 #再有些情況下修改這個檔案就能解決問題。
2、如果修改modules.conf沒有解決問題,開始下面的操作:
# cp /boot/initrd-2.4.21-el.img /root/
# file initrd-2.4.21-el.img -----該檔案是乙個壓縮檔案;
# mv initrd-2.4.21-el.img initrd-2.4.21.img.gz
# gzip -d initrd-2.4.21-el.img.gz
# file initrd-2.4.21-el.img
initrd-2.4.21-el.img:linux rev 1.0 ext2 filesystem data(mount or unclean)
# mount initrd-2.4.21-el.img /mnt -o loop
#cd /mnt
#ls
bin dev etc lib linuxrc loopfs proc sbin sysroot
#vi linuxrc
echo "loading aic79xx.o module"
in**od /lib/aic79xx.o
echo "loading qla2300.o module"
in**od /lib/qla2300.o
變更aic79xx和qla2300的上下位置。然後儲存。
3、# cd /root
# umount /mnt
#gzip -9 initrd-2.4.21-el.img
#mv initrd-2.4.21-el.img.gz initrd-2.4.21-el.img
#cp initrd-2.4.21-el.img /boot
#reboot
4、fdisk -l 完成操作。
為XenServer增加第2塊硬碟的方法
有一台xenserver伺服器是2塊硬碟,第一塊硬碟差不多已經用完,第2塊硬碟還沒開始使用,為了更充分的利用硬碟資源,決定掛上第2塊硬碟。一 查詢自己的host uuid 1xe host list 二 查詢要掛載的分割槽 按路徑來查詢分割槽 1ls dev disk by path 上圖中,scs...
Linux學習 第2章 Linux系統安裝(2)
1 設定系統安裝映象 2 啟動客戶機 掛起 暫停當前映象,下次使用時恢復即可。比啟動更快速。在通電時不要強制關閉虛擬機器,系統可能崩潰,要先機或掛起。3 修改啟動順序 vmware啟動後滑鼠點入虛擬機器裡,按f2鍵啟動boot,在boot選項中通過 將 cd rom driver 移動到第乙個位置,...
第2章 準備 2 11安裝 deelx
回到目錄 白話c 2.11.安裝 deelx deelx 是乙個在 c 環境下的與 perl 相容的正規表示式解析引擎。是 regexlab 開展的乙個研究開發專案。雖然boost及wxwidgets都各自提供了強大的正規表示式解析引擎,不過這二者都相當龐大,如果僅僅需要處理正規表示式,deelx非...