Boot
通過分區中的映像啟動 Kali Linux
**我想要什麼:**我想在不接觸分區表的情況下多重引導 Windows 10 和 Kali Linux,所以我試圖將 Kali Linux 安裝在位於我現有 Windows 分區中的 .img 中。然後我將指示 grub 創建一個環回並從該映像啟動。
**我做了什麼:**所以,為了將 Kali Linux 安裝到那個 .img 文件,我首先使用 .img 創建了 IMG
dd
。然後我啟動了安裝磁碟並繼續載入fuse
和ntfs
模組。然後我打開了一個新的終端(
Ctrl+Alt+F2
)並安裝了 IMG 所在的分區。問題:
- 我無法
losetup
在終端中執行- 假設我以某種方式將其安裝到 IMG,在 grub 中創建了環回設備,
vmlinuz
然後載入了,我認為它將無法載入其餘的系統文件,因為它需要root=/dev/sdX
作為引導參數。那麼,我可以以某種方式修改vmlinuz
或initrd.img
掛載分區並執行losetup
,然後讀取root=/dev/loopX
以載入系統的其餘部分
這就是我實現它的方式:
- 開始安裝過程
- 繼續到“分區磁碟”步驟並點擊“返回”
- 啟動另一個終端 (
Alt+Ctrl+F2
) 並掛載儲存圖像的文件系統(例如 at/mnt
)。- 執行
ln -s /mnt/path/to/image /dev/sdb
以欺騙安裝系統。- 切換到上一個終端。(
Alt+Ctrl+F5
在我的情況下)- 從“檢測磁碟”步驟繼續安裝。
/mnt/path/to/image
應該在那裡,選擇它。- 將它用作一些文件系統(
ext4
在我的情況下)並將安裝點設置為/
,現在不要選擇交換並點擊完成。- 像往常一樣完成安裝。
- 現在,重新啟動到“Kali Live”並打開一個終端
- 掛載儲存圖像的文件系統(例如 at
/mnt
)。還要掛載圖像,例如:mount -o loop /mnt/path/to/image /myimg
- chroot 進入鏡像:
chroot /myimg
- 修改文件
/etc/initramfs-tools/modules
並添加loop
.- 修改
/usr/share/initramfs-tools/scripts/local
: - 清空現在mountroot()
並填寫:
mkdir /root2 mount -t <type of fs inwhich image is stored> /dev/sdXY /root2 mount -t ext4 -o loop,rw /root2/path/to/image ${rootmnt}
- 跑
update-initramfs
- 添加一個 grub 條目:
loopback loop (hdX,Y)/path/to/image linux (loop)/vmlinuz initrd (loop)/initrd.img
- 完畢 !!