8.31.2011

如何掛載ISO檔及微調其Kernel參數 (I)

這一次要介紹的主題是如何在Linux環境下掛載*.ISO檔。

ISO是一種很常見的檔案格式,如果是在微軟的Windows下,我們可以直接使用類似WinRAR這樣的軟體來直接開啟ISO檔讀取其內容;

如果這個ISO檔是個開機光碟的映像檔而非一般的資料,那就必須用類似WinISO、Alcohol 120%或虛擬光碟 (DAEMON)等軟體來進行ISO檔的拷貝,而不能用WinRAR來執行複製,因為既然是開機光碟,裡面有包含開機磁區,用WinRAR開啟ISO檔來執行複製,只能複製一般性的資料,並沒有辦法複製到開機磁區的資料。

那麼,在Linux的環境下該如何讀取ISO檔的內容?? 是否也需要類似Windows下的WinRAR、WinISO等軟體??

其實,我們透過一些指令和設定,就能夠完成這樣的動作。

現在,我有一個FreeNAS的ISO檔放在管理者的根目錄之下 (/root/FreeNAS.ISO),現在我要把它掛載起來,掛載點我把它設在/mnt下的ISO9660資料夾:

mkdir -p /mnt/ISO9660

mount -o loop /root/FreeNAS.ISO /mnt/ISO9660

ls -l /mnt/ISO9660/



如此,我們就手動掛載成功了!!

假如,使用者需要開機時就自動掛載,那就必須寫在File System Table:

vi /etc/fstab

在最後一行增加以下資料:

/root/FreeNAS.ISO    /mnt/ISO9660    iso9660    defaults,loop    1 2



然後,我們馬上Reboot,再進到/mnt/ISO9660/資料夾查看,確認是否有自動掛載起來。

不過,寫在/etc/fstab有個問題:倘若使用者將這個ISO檔移除或更名,卻沒有將/etc/fstab同步及更新,那麼在Reboot時會因為找不到該ISO檔而導致開機失敗,必須進到Repair Mode來修復/etc/fstab。

所以,較佳的作法是─等到成功掛載File System之後,再掛載ISO檔。我們該動手腳的地方是在:/etc/rc.local (註1),把手動掛載的指令新增到這一個檔案,如此就不會因為掛載ISO檔失敗而進入到Repair模式。

(PS1: /etc/rc.local其實只是個軟連結--Symbolic Link--,它原本的檔案是在/etc/rc.d/rc.local,所以無論是修改/etc/rc.local還是/etc/rc.d/rc.local結果都一樣!!)

(To be continue....)

沒有留言:

張貼留言