mount -o loop /root/FreeNAS.ISO /mnt/ISO9660
第三個參數─loop到底是什麼?? 其實它是一個Device:
ls -l /dev/loop*

告訴我們,我們可以同時掛載八個ISO檔。為了證明真的可以掛載八個ISO檔,我們把原本/mnt/ISO9660/這個資料夾給刪除掉;取而代之的是建立九個ISO_X。
然後把原本的FreeNAS.ISO檔一一地掛載上去,如下圖:

由上圖可知,當我們掛載到第九個時,電腦會告訴我們一個錯誤訊息:
mount: could not find any free loop device
所以,我們就真的只能掛載到八個ISO檔。
假如,使用者需要更多的loop device時,怎麼辦?? 我們有兩個辦法可以擴充loop device。
方法1:
1. 修改modprobe.conf檔:
find / -name "modprobe.conf" -print
vi /usr/share/logwatch/default.conf/services/modprobe.conf
'#'字號開頭的行數表註解,所以我們在檔案的最後面增加這一行:
options loop max_loop=16

2. 編輯好modprobe.conf檔還不夠,在重開機時還是不會自動產生loop8~loop15。
所以,我們必須再寫一個Shell Script,讓開機的時後,自動執行這個Shell Script檔來產生:
touch /root/AddLoopDev.sh
chmod 700 /root/AddLoopDev.sh
需要開機時所執行的檔案,我們只需要讓Owner-root能夠執行即可,其它的帳號不需要有執行的權限。
vi /root/AddLoopDev.sh
新增以下程式碼:

因為是要開機時執行,所以我們編寫/etc/rc.local,新增以下這一行:
/root/AddLoopDev.sh

Reboot之後,我們就可以發現loop device已經增加為16個了:

方法2:
相較於方法1,要修改modprobe.conf,又要新增一個Shell Script檔;方法2就簡單多了。
我們只需要在開機時,微調它的kernel參數。
編輯開機選單:
vi /boot/grub/menu.lst
在第二個kernel的選項最後面,新增一個參數:max_loop=16

然後Reboot,會與方法1同樣的效果。
相關文章:如何掛載ISO檔及微調其Kernel參數 (I)
沒有留言:
張貼留言