私が望むもの:パーティションテーブルに触れることなくWindows 10とKali Linuxをマルチブートしたいので、既存のWindowsパーティションに.imgファイルとしてKali Linuxをインストールしてみました。その後、grubにループバックを作成し、そのイメージから起動するように指示します。
私がしたこと:そのため、その.imgファイルにKali Linuxをインストールするために、まず.imgを使用してIMGを作成しましたdd
。その後、インストールディスクを起動し、引き続きモジュールをロードfuse
しましたntfs
。
その後、新しいターミナル()を開き、Ctrl+Alt+F2
IMGのあるパーティションをインストールしました。
質問:
losetup
端末で実行できません- どういうわけかIMGにインストールし、grubからループバックデバイスを作成してロードしたと仮定すると、起動引数が
vmlinuz
必要なため、残りのシステムファイルをロードできないようです。root=/dev/sdX
まあ、どういうわけかまたはvmlinuz
を変更してinitrd.img
パーティションをマウントして実行し、それを読んで残りのlosetup
システムroot=/dev/loopX
をロードできます。
答え1
これが私が実装した方法です。
- インストールプロセスの開始
- 続いて「ディスクパーティション」の手順に進み、「戻る」をクリックします。
- 他の端末(
Alt+Ctrl+F2
)を起動し、画像が保存されているファイルシステム(例:/mnt
。 ln -s /mnt/path/to/image /dev/sdb
インストールシステムをだますために実行してください。- 前の端末に切り替えます。 (
Alt+Ctrl+F5
私の場合) - 「ディスク検出」ステップからインストールを続行してください。
/mnt/path/to/image
そこにあるはずです。選択してください。 - これをいくつかのファイルシステム(
ext4
私の場合)として使用し、マウントポイントをに設定します。/
まだスワップを選択せずに「完了」をクリックします。 - 通常どおりインストールを完了します。
- 「Kali Live」で再起動して端末を開きます。
- 画像が保存されているファイルシステムをマウントします(例
/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
- グラップ項目を追加します。
loopback loop (hdX,Y)/path/to/image linux (loop)/vmlinuz initrd (loop)/initrd.img
- 完璧! !