在 USB 驅動器上安裝 Kali Linux
我想將 Kali Linux 安裝在 64 GB 的 USB 驅動器上,並且想把它帶到任何地方並將其插入任何 PC 並啟動並執行我的設置。IOW 我只想要一個像 USB 上完整的 Kali Linux 攜帶式安裝這樣的 HDD。
我不想要 Live boot 或持久性或任何東西,我顯然想將它安裝在那個 USB 上,就像我們通常在 HDD 上安裝 Kali Linux 一樣。
我想提供一些有關我的內部硬碟的資訊 -
root@Kali:~# fdisk -l Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors Disk model: ST500DM009-2F110 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: 0BBC9B99-EE7E-11E8-8BD6-843C86F9DFC6 Device Start End Sectors Size Type /dev/sda1 2048 1126399 1124352 549M Microsoft basic data /dev/sda2 1126400 210561023 209434624 99.9G Microsoft basic data /dev/sda3 210561024 210765823 204800 100M EFI System /dev/sda4 210765824 315623423 104857600 50G Linux filesystem /dev/sda5 315623424 328206335 12582912 6G Linux swap /dev/sda6 328206336 537921535 209715200 100G Linux filesystem /dev/sda7 537921536 976773134 438851599 209.3G Microsoft basic data Disk /dev/sdb: 57.9 GiB, 62109253632 bytes, 121307136 sectors Disk model: Ultra Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: BC1A35EC-FF80-4CCB-BD61-30F7FF3CDA4A Device Start End Sectors Size Type /dev/sdb1 2048 206847 204800 100M EFI System /dev/sdb2 206848 68567039 68360192 32.6G Linux filesystem /dev/sdb3 68567040 76380159 7813120 3.7G Linux swap /dev/sdb4 76380160 121305087 44924928 21.4G Linux filesystem
這
/dev/sda
是我在 UEFI 模式下以雙啟動方式安裝了 Windows 10 + Manjaro 的內部硬碟。這
/dev/sdb
是我要安裝 Kali Linux 的目標 64 GB USB 驅動器。你在這裡看到的/dev/sdb
是我的 Kali Linux 的目前安裝(我的第三次嘗試)。我從 Kali Linux 官方下載頁面下載了 Kali Linux KDE 2019 ISO,使用 Rufus 在另一個備用 16 GB USB 中以 DD 模式進行實時啟動。我刪除了目標 USB 上的所有分區並使其未分配。從 Live USB 啟動,選擇圖形安裝程序,完成所有過程,直到分區。
我選擇了手動分區方法,然後將我的目標 USB 分區(如
/dev/sdc
安裝程序中所示)如下 -SCSIl (0,0,0) (sdc) - 62.1 GB > 1.0 MB FREE SPACE > #1 /dev/sdc1 104.9 MB B K ESP EFI system partition > #2 /dev/sdc2 35.0 GB f ext4 / > #3 /dev/sdc3 4.0 GB f swap swap > #4 /dev/sdc4 23.1 GB f ext4 /home > 1.0 MB FREE SPACE
我檢查了所有內容,尤其是 EFI 分區中的可引導標誌“on”。在確保一切正常後,我繼續安裝。點擊 Continue 後我注意到的一件不尋常的事情是我只在我的
/dev/sdc
.也列出要在那里格式化。我認為這很奇怪,因為分區時我什至沒有觸摸,但我忽略了它並點擊了繼續。系統安裝成功,完成安裝並重新啟動。還拿出了Live USB記憶棒。/dev/sdc``swap``/dev/sda``/dev/sda
到現在為止還挺好。
得到 grub 螢幕,選擇 Kali 和繁榮!我遇到的第一件事是(initramfs)出現黑屏,因為 grub 無法找到根分區
/dev/sdc
(注意:安裝時目標 USB 是/dev/sdc
,但在移除 Live USB 記憶棒後它變成了/dev/sdb
)。所以我通過重新啟動回到 grub 並按下“e”並將 root 的設備路徑從 更改/dev/sdc2
為/dev/sdb2
. 按 F10 並引導我進入我的 Kali Linux 桌面,耶!好吧,不是那麼好。我剛剛啟動 GParted 以檢查我的所有分區是否完好無損,令我驚訝的是,我看到不是我創建的 EFI 分區,而是安裝
/dev/sdb
了 EFI 分區,/dev/sda
安裝了根、交換和主分區,/dev/sdb
並且也安裝了交換分區/dev/sda
!哇!也未
/dev/sdb
安裝預期安裝的 EFI 分區!/boot/efi
這讓我頭暈目眩,我再次嘗試了上述步驟,但得到了相同的結果。然後我在某處讀到目標 USB 驅動器上必須已經存在 EFI 分區,所以我也嘗試了,但沒有結果。
所以我關閉了系統並將 USB 插入另一台筆記型電腦以查看它是否工作,但是一旦我啟動啟動菜單,就沒有從 USB 啟動的選項。我嘗試禁用舊版支持和安全啟動。還嘗試添加啟動選項,但 USB 的文件系統中沒有可用的 EFI 文件。Kali 的 EFI 文件在我的內部硬碟的文件系統中與 Manjaro 和 Windows 一起可用,這清楚地表明 EFI 文件已安裝在
/dev/sda
.我需要找出這裡發生了什麼,出了什麼問題,我該如何解決這個問題,以及如何實現我上面提到的目標。
我終於解決了這個問題!
使用這個 wiki - https://wiki.debian.org/GrubEFIReinstall
首先,啟動你的 Linux 系統並用 Kali 插入你的 USB,從終端掛載 USB 的所有分區,發出
blkid
並保留 U 盤上所有分區的 UUID。/etc/sftab
在USB 上打開/
並確保其中提到的所有分區都通過 UUID 安裝,這樣您就不會將系統與要載入的分區混淆。我會添加discard,noatime,commit=600
並請從 USB 驅動器中刪除交換分區,交換它是 .例子:
UUID=739cbe4a-82c1-46cb-8bb1-dbce3259d1f8 / ext4 discard,noatime,commit=600,defaults 0 2
您可能還必須編輯 grub 配置以使用 UUID 來查找根目錄。
當您啟動電腦時,找到用於選擇啟動設備的 F 鍵(我見過
F10
和F12
,可能是另一個),您應該看到 USB 的兩個條目(如果電腦上啟用了傳統啟動),選擇您的 US 驅動器並且,如果有兩個,您可能會選擇錯誤的一個(傳統引導),因此請重複另一個,系統“應該”引導。