Filesystems

創建可啟動 USB:dd 是否會覆蓋分區表、格式化、文件系統?

  • January 31, 2022

我正在創建一個可引導的 USB 以安裝 NixOS。給定 /dev/sda 的 USB 可以通過執行:

# download the ISO
wget https://channels.nixos.org/nixos-21.11/latest-nixos-minimal-x86_64-linux.iso

# erase the disk
sudo dd if=/dev/zero of=/dev/sda bs=4M

# write the image
sudo dd if=latest-nixos-minimal-x86_64-linux.iso of=/dev/sda bs=4M

但在我這樣做之前,我是否需要格式化驅動器(選擇分區方案,即 GPT 或 MBR,選擇文件系統,即 exFAT、FAT32 等),還是dd覆蓋所有這些資訊?

當您使用 時of=/dev/sdadd將覆蓋物理塊 #0 開始的所有內容,包括任何分區表和文件系統元數據。

在寫入 ISO 之前擦除磁碟是不必要的步驟,除非您需要將可引導 USB 提供給其他人和/或需要確保絕對擦除曾經存在於 USB 上的任何數據。

值得一提的是,在你在 linux 中做過之後

dd  if=somebootableimage.iso  of=/dev/sdx

如果您希望在 Microsoft Windows 下重複使用該 USB 記憶棒,則該 USB 記憶棒會出現問題。Windows 磁碟管理器不會讓您在其上重新創建 NTFS 分區,給人的印像是 USB 記憶棒壞了

如果在命令提示符視窗中的磁碟部分中的 Windows 中有一種方法可以修復我不知道但是…

在 linux 中執行以下操作以使 USB 記憶棒 microsoft windows 再次兼容

  • 假設 USB 記憶棒出現在 linux 中/dev/sdx只是出於語法原因,將 更改x為適合您的正確字母
  • parted /dev/sdx
  • mklabel gpt
  • 提示時選擇是,它將銷毀所有數據
  • exit從分開
  • 從電腦上拔下 U 盤

現在 USB 棒在它的開頭將有一個基本的 gpt 分區表,其中沒有定義分區,這沒關係,並且會讓 Windows 磁碟管理器高興。與擁有來自 Windows 不喜歡且無法使用的某些 {bootable} iso 映像的任何數據相反。

如果它在 Windows 中有問題並且不會格式化,請考慮使用任何 USB 棒執行此操作,如果它至少/dev/sd?在 linux 中顯示為某個塊設備,那麼通常你可以很好地改變恢復 USB 棒以供 Microsoft Windows 使用。

引用自:https://unix.stackexchange.com/questions/685655