Linux中國

直接從硬碟啟動Linux ISO鏡像

Linux的GRUB2啟動載入器可以直接從硬碟啟動Linux ISO文件,可以啟動Live CD的 ISO,而不用燒錄到光碟來安裝Linux到一個硬碟分區,或從USB驅動啟動。

我們在Ubuntu 14.04上實施了該過程——Ubuntu及基於Ubuntu的Linux版本對此支持良好。其它Linux發行版上的工作原理也類似。

獲取Linux ISO文件

這一密技需要你的硬碟驅動器上安裝有Linux系統,你的計算機必須使用GRUB2啟動載入器,這是大多數Linux系統的標準啟動載入器。不好意思,你是不能使用Windows啟動載入器來直接啟動一個Linux ISO文件的。

下載你想要使用的ISO文件,並放到你的Linux分區中。GRUB2應該支持大多數Linux系統的。如果你想要在live環境中使用它們,而不想將它們安裝到硬碟驅動器上,請確認你下載的是各個Linux ISO的「live CD」版本。很多基於Linux的可啟動工具盤也應該可以工作。

檢查ISO文件內容

你可能需要查看ISO文件的內部來知道那些特定的的文件在哪裡。例如,你可以通過使用Ubuntu及其它基於GNOME的桌面環境中的歸檔管理器/文件管理器這些圖形化應用程序來打開ISO文件。在Nautilus文件管理器中,右擊ISO文件並選擇使用歸檔管理器打開。

找到內核文件和initrd映像。如果你正在使用Ubuntu ISO文件,你會在casper文件夾中找到這些文件——vmlinuz文件是Linux內核,而initrd文件是initrd映像。後面,你需要知道它們在ISO文件中所處的位置。

檢查硬碟分區路徑

GRUB使用與Linux不同的「設備命名」方式。在Linux系統中,/dev/sda0是硬碟上的第一個分區——a是指第一個硬碟,而0是指第一個分區。在GRUB中,與/dev/sda0相對應的是(hd0,1)。0指第一個硬碟,而1則指它上面的第一個分區。換句話說,在GRUB設備名中,磁碟編號從0開始計數,而分區編號則從1開始計數——是啊,這真是突然令人困惑。例如,(hd3,6)是指第四磁碟上的第六分區。

你可以使用fdisk -l命令來查看該信息。在Ubuntu上,打開終端並運行以下命令:

sudo fdisk -l

你將看到一個Linux設備路徑列表,你可以自行將它們轉成GRUB設備名。例如,在下面的圖片中,我們可以看到有個系統分區是/dev/sda1——那麼,對於GRUB而言,它就是(hd0,1)。

創建GRUB2啟動條目

添加自定義啟動條目的最簡單的方式是編輯/etc/grub.d/40_custom腳本,該文件設計用於用戶自行添加啟動條目。在編輯該文件後,/etc/defaults/grub文件和/etc/grub.d/腳本的內容將合成創建/boot/grub/grub.cfg文件——你不應該手工編輯這個文件。它被設計為通過你在另外的文件中指定的設置自動生成。

你需要以root特權打開/etc/grub.d/40_custom文件來編輯。在Ubuntu上,你可以通過打開終端窗口,並運行以下命令來完成:

sudo gedit /etc/grub.d/40_custom

放輕鬆點,你可以用你喜愛的文本編輯打開該文件。例如,你可以替換命令中「gedit」為「nano」,在Nano文本編輯器中打開它。

除非你已經添加了其它自定義啟動條目,否則你應當看到的是一個幾乎空的文件。你需要在注釋行下添加一個或多個ISO啟動部分。

這裡為你展示了怎樣來從ISO文件啟動Ubuntu或基於Ubuntu的發行版,我們在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文件的硬碟和分區設備名。如果vmlinuz和initrd文件的名稱或路徑不同,請為這些文件指定正確的路徑。

(如果你的/home/ 目錄是一個分區,請忽略/home部分,像這樣:set isofile="/name/Downloads/${isoname}")。

重要說明:不同的Linux版本要求帶有不同啟動選項的不同的啟動條目,GRUB Live ISO多啟動項目提供了用於不同Linux發行版的菜單條目的各種不同類型。你應當為你想要啟動的ISO文件調整這些示例菜單條目。你也可以僅僅從網頁搜索你想要啟動的Linux發行版的名稱和發行編號,並附帶關鍵詞「在GRUB中從ISO啟動」,以獲取更多信息。

如果你想要添加更多ISO啟動選項,請為該文件添加額外部分。

完成後保存文件,返回終端窗口並運行以下命令:

sudo update-grub

再次啟動計算機時,你將看到ISO啟動條目,你可以選擇它來啟動ISO文件。在啟動時,你可能需要按Shift鍵來顯示GRUB菜單。

如果在嘗試啟動ISO文件時你看見錯誤信息或黑屏,那麼你的啟動條目配置肯定配置錯誤了。即使ISO文件路徑和設備名是正確的,ISO文件上的vmlinuz和initrd文件的路徑可能是不正確的,或者你啟動Linux系統可能需要不同的選項。

via: http://www.howtogeek.com/196933/how-to-boot-linux-iso-images-directly-from-your-hard-drive/

作者:Chris Hoffman 譯者:GOLinux 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國