Linux ISO鏡像文件從硬盤啟動的方法
通常我們在啟動Linux ISO鏡像的時候,需要先燒錄到光盤,這樣會比較麻煩,那么有什么方法能夠從硬盤直接啟動Linux ISO鏡像文件呢?這就需要用到GRUB2啟動加載,下面學(xué)習(xí)啦小編就給大家做個詳細(xì)介紹。
這一密技需要你的硬盤驅(qū)動器上安裝有Linux系統(tǒng),你的計算機必須使用GRUB2啟動加載器,這是大多數(shù)Linux系統(tǒng)的標(biāo)準(zhǔn)啟動加載器。不好意思,你是不能使用Windows啟動加載器來直接啟動一個Linux ISO文件的。
下載你想要使用的ISO文件,并放到你的Linux分區(qū)中。GRUB2應(yīng)該支持大多數(shù)Linux系統(tǒng)的。如果你想要在live環(huán)境中使用它們,而不想將它們安裝到硬盤驅(qū)動器上,請確認(rèn)你下載的是各個Linux ISO的“live CD”版本。很多基于Linux的可啟動工具盤也應(yīng)該可以工作。
檢查ISO文件內(nèi)容
你可能需要查看ISO文件的內(nèi)部來知道那些特定的的文件在哪里。例如,你可以通過使用Ubuntu及其它基于GNOME的桌面環(huán)境中的歸檔管理器/文件管理器這些圖形化應(yīng)用程序來打開ISO文件。在Nautilus文件管理器中,右擊ISO文件并選擇使用歸檔管理器打開。
找到內(nèi)核文件和initrd映像。如果你正在使用Ubuntu ISO文件,你會在casper文件夾中找到這些文件——vmlinuz文件是Linux內(nèi)核,而initrd文件是initrd映像。后面,你需要知道它們在ISO文件中所處的位置。
GRUB使用與Linux不同的“設(shè)備命名”方式。在Linux系統(tǒng)中,/dev/sda0是硬盤上的第一個分區(qū)——a是指第一個硬盤,而0是指第一個分區(qū)。在GRUB中,與/dev/sda0相對應(yīng)的是(hd0,1)。0指第一個硬盤,而1則指它上面的第一個分區(qū)。換句話說,在GRUB設(shè)備名中,磁盤編號從0開始計數(shù),而分區(qū)編號則從1開始計數(shù)——是啊,這真是突然令人困惑。例如,(hd3,6)是指第四磁盤上的第六分區(qū)。
你可以使用fdisk -l命令來查看該信息。在Ubuntu上,打開終端并運行以下命令:
sudo fdisk -l
你將看到一個Linux設(shè)備路徑列表,你可以自行將它們轉(zhuǎn)成GRUB設(shè)備名。例如,在下面的圖片中,我們可以看到有個系統(tǒng)分區(qū)是/dev/sda1——那么,對于GRUB而言,它就是(hd0,1)。
創(chuàng)建GRUB2啟動條目
添加自定義啟動條目的最簡單的方式是編輯/etc/grub.d/40_custom腳本,該文件設(shè)計用于用戶自行添加啟動條目。在編輯該文件后,/etc/defaults/grub文件和/etc/grub.d/腳本的內(nèi)容將合成創(chuàng)建/boot/grub/grub.cfg文件——你不應(yīng)該手工編輯這個文件。它被設(shè)計為通過你在另外的文件中指定的設(shè)置自動生成。
你需要以root特權(quán)打開/etc/grub.d/40_custom文件來編輯。在Ubuntu上,你可以通過打開終端窗口,并運行以下命令來完成:
sudo gedit /etc/grub.d/40_custom
放輕松點,你可以用你喜愛的文本編輯打開該文件。例如,你可以替換命令中“gedit”為“nano”,在Nano文本編輯器中打開它。
除非你已經(jīng)添加了其它自定義啟動條目,否則你應(yīng)當(dāng)看到的是一個幾乎空的文件。你需要在注釋行下添加一個或多個ISO啟動部分。
這里為你展示了怎樣來從ISO文件啟動Ubuntu或基于Ubuntu的發(fā)行版,我們在Ubuntu 14.04下作了測試:
menuentry “Ubuntu 14.04 ISO”{
set isofile=“/home/name/Downloads/ubuntu-14.04.1-desktop-amd64.iso”
loopback loop (hd0,1)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
initrd (loop)/casper/initrd.lz
}
自定義啟動條目以包含你期望的菜單的條目名稱,并指定計算機上該ISO文件的正確路徑,以及包含ISO文件的硬盤和分區(qū)設(shè)備名。如果vmlinuz和initrd文件的名稱或路徑不同,請為這些文件指定正確的路徑。
(如果你的/home/ 目錄是一個分區(qū),請忽略/home部分,像這樣:set isofile=“/name/Downloads/${isoname}”)。
重要說明:不同的Linux版本要求帶有不同啟動選項的不同的啟動條目,GRUB Live ISO多啟動項目提供了用于不同Linux發(fā)行版的菜單條目的各種不同類型。你應(yīng)當(dāng)為你想要啟動的ISO文件調(diào)整這些示例菜單條目。你也可以僅僅從網(wǎng)頁搜索你想要啟動的Linux發(fā)行版的名稱和發(fā)行編號,并附帶關(guān)鍵詞“在GRUB中從ISO啟動”,以獲取更多信息。
如果你想要添加更多ISO啟動選項,請為該文件添加額外部分。
完成后保存文件,返回終端窗口并運行以下命令:
sudo update-grub
再次啟動計算機時,你將看到ISO啟動條目,你可以選擇它來啟動ISO文件。在啟動時,你可能需要按Shift鍵來顯示GRUB菜單。
如果在嘗試啟動ISO文件時你看見錯誤信息或黑屏,那么你的啟動條目配置肯定配置錯誤了。即使ISO文件路徑和設(shè)備名是正確的,ISO文件上的vmlinuz和initrd文件的路徑可能是不正確的,或者你啟動Linux系統(tǒng)可能需要不同的選項。
上面就是從硬盤啟動Linux ISO鏡像文件的方法介紹了,需要注意的是,不同版本的Linux啟動項目不同,你要先了解你的Linux系統(tǒng)相關(guān)的啟動項目信息。