作者:聯成電腦專任講師 胡尚忠(轉載請註明出處)

 一天晚上,阿強同學複習胡大上課內容時,因為太晚下課,所以精神有點不繼,但又想要試試看更改分割區標籤的指令,就用了e2label指令,將自己的根檔案系統標籤給改了,然後開機就失敗了。

事後我們訪問阿強『為什麼要這樣做?』,只見阿強科科笑了兩聲,說『我也不記得了!』,於是又問了阿強,『那你記不記得你把磁碟機標籤改成了什麼?』,阿強科科的笑聲更大了,帶著一點羞澀的說『這...我也不記得了.....』。

於是胡大也科科的笑,身上的肥油顫抖,眼角的魚尾紋更深了,鬢角的白髮,彈了一下....

其實,修改磁碟機標籤的指令不是只有e2label而已,你也可以用tune2fs指令,如下面的改法:

#e2label /dev/sdb6 forgetful

把分割區標籤改為”forgetful”

#tune2fs -L “forgetful” /dev/sdb6

boot-ts-1.png

問題是改了之後開機失敗,要怎麼解決呢?

boot-ts-2.png

啊~當很大,kernel panic! 上過133的都知道kernel panic 很大條,原因是什麼?核心找不到跟檔案系統啦!根檔案系統的標籤被改了啦!看訊息的倒數第六行:mount:could not find filesystem '/dev/root'。動都不能動,只好用安裝碟的救援模式,將磁碟機分割區的標籤改回來,可是.....假如我們手邊沒有救援光碟,那該怎辦?

救援模式的使用請參考

 http://expert.lccnet.com.tw/viewthread.php?tid=5995&extra=page%3D1%26amp%3Bfilter%3Ddigest

 重開機,到開機選單,選擇開機項目,然後按下鍵盤的』”e”

boot-ts-3.png

編輯開機指令,選到第2行核心的載入指令,再按下』”e”,編輯開機指令。

boot-ts-4.png

見下圖,修改的方式已經告訴你了,如果你忘了分割區的標籤名稱,好歹可以用分割區的裝置名稱,如果你都忘了,科科科!那就趕快記起來呀...

boot-ts-5.png

按下enter,再用”b”實際進行開機。

boot-ts-6.png

然後又當了!看下圖,核心雖然可以正常找到根檔案系統,但是後續的開機過程卻不一定,第一個黃色箭頭指到的地方,代表開機已經執行到/etc/rc.d/rc.sysinit,這個程式會自動組合你的software RAID或LVM裝置,啟動quota,最重要的一點,他會自動依照/etc/fstab的紀錄掛載檔案系統,如果需要fsck,他也會幫你執行。

現在看到原因了沒有?在第圖下方黃色的箭頭,原來我們剛剛藉由修改grub的指令,讓核心正確找到根檔案系統,但卻沒有機會告訴/etc/fstab正確的根檔案系統標籤是什麼。

接著,在圖的最下方,訊息告訴我們,檔案系統檢查有問題,現在送我們到一個簡易的shell,當你退出shell的時候系統會自動重開機,然後在最後說,輸入root密碼進入系統維護用的shell,太好了,有shell了,有shell就有希望,你們是RHCE,不是Ubuntu的用戶啊!有shell就要覺得高興!

 boot-ts-7.png

請特別注意,在這個簡易的shell中,根檔案系統是用唯讀的方式掛載的。

 進入sulogin Prompt

輸入管理員密碼之後,你可以用你平常就學到的指令,觀察一下自己的主機,fdisk -l列出你的分割區,mount列出現行掛載狀態,e2label當然是幫你列出忘記的分割區標籤啦!如果要偷懶,將標籤改回原來的『/』,一切問題就解決了,連GRUB都不需要重裝,我們還是在這裡麻煩一下好了,用vi修改fstab,應個景。

  boot-ts-8.png

# vi /etc/fstab

在這個簡易的shell中,還可以使用vim,真是感覺好好喔!可是,他怎麼不給我存呢?我卯起來存可以吧!

他卻又說cannot open file for writing...,為什麼?為什麼?為什麼?為什麼?

 boot-ts-9.png

阿強啊!不要傻啦!剛剛不是有紅字嗎?核心開機,只會以唯讀的方式掛載根檔系統!阿強說,那上一張圖mount不是說是rw嗎?老蘇你唬弄我嗎?對呀!我是....科科科,他以為他是rw嘛!不是早就跟你說過了那些說電腦不會出錯的人,其實都是電腦白痴嘛!

所以,現在退出vim,放棄不存,重新掛載根檔案系統為可讀寫,這個指令非常有用,上課有教,老師有說過,不要不記得了啊!

# mount -o remount,rw /dev/hda1 /

這種寫法,跟上課時略有不同,因為現在/etc/fstab中的紀錄是不可以用的,所以要特別指定根檔案系統的裝置及掛載點,如果/etc/fstab的紀錄是正確的,就可以這樣寫:

# mount -o remount,rw /

boot-ts-10.png

然後再修改/etc/fstab

boot-ts-11.png

存檔後離開shell,電腦自動重開,開機時要像剛剛那樣再調整一下GRUB選單,正常開機完成之後,再將分割區標籤改回去即可。

 

31期其他文章

首頁

焦點訊息
1.聯成快訊:頭條 學員許哲榮榮獲麗台2009動畫競賽銀獎(還有其他)
2.聯成快訊:師生作品再出擊-瘋設計 尬創意2 火熱上市  

精彩人物:室設魔法修煉家—專訪胡景文老師  

軟體秘技:使用XP內建指令- Diy自己動手寫關機程式 

證照新知:輕鬆通過TQC-CAD考試 

學員專欄:Painter創作過程分享「韻律」

arrow
arrow

    聯成電腦 發表在 痞客邦 留言(0) 人氣()