如何在 SD 卡上安裝 live ISO 以便它可以在任何地方啟動?
如何將 xNIX live-iso安裝(不是 live-persistence)到 SD 卡上?我希望它能夠在大多數機器上啟動。
深入:我用 parrotsec 4.4 64 位燒錄了一個 pendrive,將 parrot 安裝到我擁有的 64GB SD 卡上,同時拔下我的系統驅動器(為了不將 EPS 快閃記憶體到現有的恢復分區上)。即使在嘗試了不同的刷機工具——Parrot、YUMI、Rufus 和 UNetbootin 推薦的 Etcher——在工具提供的不同模式(自動、DD、ISO)下,同時還每次使用不同的分區設置(RAW、或預格式化的 FAT32/EXT4) 並在每個設置中混合 MBR/GPT 表。
好吧,幾乎每次都無法啟動 sd 卡,結果不同:回退到 grub shell、UEFI shell 或只是游標閃爍。我認為這在某種程度上是 ESP/GRUB 的錯,因為我猜它無法找到相關的*.efi 並且我真的不知道如何將它指向它需要的位置(sdx/EFI/boot/* .efi?)
介紹
- **複製可以很好地創建實時 Parrot Security 4.4 64 位驅動器。我認為從外部驅動器(USB pendrive、SD 卡…)實時執行 Parrot 或持久實時執行是個好主意。**驅動器必須足夠大(至少 4 GB)。
- 將 Parrot 安裝到 SD 卡(至少 16 GB)中很困難,但可以。
- 如問題中所述,可通過實時系統獲得的圖形安裝程序對我來說也失敗了。
- 事情會更乾淨,更容易,如果你
$$ can $$斷開您的內部驅動器,並僅使用此任務中涉及的驅動器。
如何安裝到外部驅動器(在本例中為 SD 卡)
- 啟動到現場鸚鵡驅動器
- 在 BIOS 模式下,您會看到一個 syslinux 菜單。選擇菜單頂部的“實時”以獲得圖形桌面環境
- 插入 SD 卡(我是通過 USB 適配器完成的)。
- 打開終端視窗並執行一些命令來準備 SD 卡。
sudo lsblk -fm sudo dd if=/dev/zero of=/dev/sdX bs=1M count=1 sudo -H gparted /dev/sdX
該
lsblk
命令將幫助您辨識目標驅動器,即 SD 卡該
dd
命令將擦除第一個 mibibyte,這使安裝程序更願意安裝 grub。寫入 SD 卡非常重要,這意味著您必須為 SD 卡選擇正確的驅動器號(例如或a
替換b
)X
。否則,您可能會破壞其他驅動器中的重要數據。如果您已斷開所有其他驅動器(實時驅動器和 SD 卡除外),事情會更安全。在
gparted
您可以“看到”驅動器資訊。應該沒有分區,甚至沒有分區表。
- 創建一個新的 MSDOS 分區表(通過“設備”)
關閉
取出 SD 卡
- 再次從 Parrot 實時驅動器啟動
- 在 BIOS 模式下,您會看到一個 syslinux 菜單。選擇菜單底部附近的“安裝”。它將帶您進入文本模式安裝程序,即舊的“debian 安裝程序”。
- 插入 SD 卡(我是通過 USB 適配器完成的)。
- 在下一個小菜單中選擇“標準安裝程序”。
- 選擇語言…(我不會在這裡描述所有步驟)。
- 選擇“引導 - 使用整個磁碟”
- 選擇指向 SD 卡的設備…
- 安裝 GRUB 引導載入程序,回答“是”
- 選擇指向 SD 卡的設備
- 完成安裝
- 移除 Parrot 實時驅動器
- 讓電腦重啟
從 SD 卡執行已安裝的 Parrot
- 重新啟動,您應該能夠啟動到已安裝的 Parrot :-)
修復以提高便攜性
讓我們假設電腦在重新啟動時很好地啟動,連接的驅動器與您在 SD 卡中創建 Parrot 系統時連接的驅動器相同(例如沒有連接內部驅動器)。
- 當您更改連接的驅動器時(例如連接內部驅動器),可能仍然存在問題。當您將 SD 卡連接到另一台連接了一個或多個內部驅動器的電腦時,可能會出現同樣的問題。
- 這些問題可以通過更改
linux
文件中 Parrot 的菜單條目中的行來解決grub.cfg
,即使用。從另一個驅動器啟動,例如實時驅動器。
sudo lsblk -f # identify the drive and check the UUID sudo mount /dev/sdX /mnt # mount the drive that contains grub.cfg sudo nano /mnt/boot/grub/grub.cfg # edit grub.cfg
查找
menuentry
Parrot 的段落以及以 開頭的每一行linux
。用設備規格替換root=/dev/sda1
或類似內容以root=UUID=042cf088-b051-4961-b206-2c223a31dee2
其中字元串
042cf088-b051-4961-b206-2c223a31dee2
應替換為實際的 UUID 字元串(可能存在於menuentry
, 並由lsblk
命令行標識。我在我的東芝筆記型電腦上編輯了這個,SD 卡通過 USB 適配器連接,
/dev/sda
並且沒有連接內部驅動器。我在具有內部驅動器的同一個東芝和連接了其他兩個驅動器的英特爾 NUC 中對其進行了測試。以下螢幕截圖來自英特爾 NUC,顯示 SD 卡通過內置插槽連接,/dev/mmcblk0
並且連接了另外兩個驅動器。請root=UUID=...
注意grub.cfg
評論
- 在大多數電腦中,您可以通過 USB 啟動到 SD 卡。一些 USB 適配器可以與某些電腦配合使用,但不能保證,在啟動過程中,多台電腦和適配器不配合。
- 在某些電腦中,您可以通過 PCI 啟動到 SD 卡(通常用於筆記型電腦的內置 SD 插槽)。這不是很常見,所以你不應該期望它對你有用。
- 請注意,已安裝系統的 SD 卡的使用壽命可能會因磨損而縮短,因為多次寫入相同的儲存單元。複製的實時驅動器是只讀的,根本不受影響。持久的實時驅動器壽命更長,因為寫入操作更少。
一些命令
我安裝的 Parrot 測試系統的終端視窗中的一些命令,
┌─[tester@parrot]─[~] └──╼ $lsb_release -a No LSB modules are available. Distributor ID: Parrot Description: Parrot 4.4 Release: 4.4 Codename: stable ┌─[tester@parrot]─[~] └──╼ $sudo lsblk -fm We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for tester: NAME FSTYPE LABEL UUID MOUNTPOINT SIZE OWNER GROUP MODE sda 29.7G root disk brw-rw---- ├─sda1 btrfs 79ad87de-08a8-4623-9afc-7c8b25daa228 / 25.9G root disk brw-rw---- ├─sda2 1K root disk brw-rw---- └─sda5 swap dcf02e42-29de-4baa-adc9-febf55e611f8 [SWAP] 3.9G root disk brw-rw---- sr0 1024M root cdrom brw-rw---- ┌─[tester@parrot]─[~] └──╼ $df -h Filesystem Size Used Avail Use% Mounted on udev 1.9G 0 1.9G 0% /dev tmpfs 384M 6.1M 378M 2% /run /dev/sda1 26G 12G 14G 47% / tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 384M 24K 384M 1% /run/user/1000 ┌─[tester@parrot]─[~] └──╼ $free -m total used free shared buff/cache available Mem: 3831 502 2611 56 718 3048 Swap: 3977 0 3977 ┌─[tester@parrot]─[~] └──╼ $uname -a Linux parrot 4.18.0-parrot10-amd64 #1 SMP Debian 4.18.10-2parrot10 (2018-11-17) x86_64 GNU/Linux ┌─[tester@parrot]─[~] └──╼ $