dd 寫入 ISO 映像後 USB 大小錯誤

dd 寫入 ISO 映像後 USB 大小錯誤

我剛剛將ddKali Linux ISO 檔案放置到我的 USB 上。然後我嘗試透過 USB 安裝 Kali Linux,但由於安裝映像已損壞而無法安裝。我重新啟動到我的另一個 Linux 作業系統 (antergos) 並dd再次嘗試使用。我的 USB 記憶棒現在顯示大小為 32KB,但 fdisk 無法偵測到它。

它最初是一個 8GB USB 2.0 棒。

為了覆蓋 MBR 和分區表,我嘗試了以下方法但沒有成功:

dd if=/dev/zero of=/dev/sdx bs=512 count=1

答案1

您的 USB 故障。

某些驅動器在發生故障時會返回不同的大小,儘管我只讀過有關“SSD”的內容,它具有更複雜的控制器。

為了仔細檢查整個磁碟機的大小,我將使用lsblk或查看內核日誌dmesg。 (分區大小之內該設備可能完全是假的,具體取決於分區表;您可以在沒有硬體故障的情況下實現這一點)。

如果大小合適,您可以嘗試透過多種方法恢復重要資料。但聽起來您並不需要這樣做 - 您仍然可以存取 Kali ISO 檔案。

簡單的 USB 記憶棒沒有設計任何額外的硬體診斷功能[*]。一旦您知道硬體發生故障,就這樣了。整個磁碟機的大小出現問題,或磁碟機未傳回您寫入的資料(由 的故障表示fdisk),都足以表示此類故障。

[*] 我認為它們甚至不是為快閃記憶體儲存的最大預期重寫週期成為問題的用途而設計的。它們更有可能損壞或丟失。

答案2

當虛擬磁碟幾何結構被錯誤檢測到。在繼續之前首先嘗試重新啟動。

警告 :我認為這不會對您的 USB 金鑰有害,但如果您不想冒任何風險,請先在 Windows 下測試格式化。

本指南假設您的駕駛方式為/dev/sdb,請根據您的需求進行調整。
在終端機中,搜尋dmesg這樣一行的輸出sd 5:0:0:0: [sdb] 62545920 512-byte logical blocks: (32.0 GB/29.8 GiB)
這告訴您:

  • 扇區數(邏輯塊):62545920
  • 扇區大小:512位元組
  • 實際介質尺寸:32.0 GB/29.8 GiB

現在計算準確的媒體大小(以位元組為單位):( 62545920 * 512 = 32023511040 bytes = 30540 MiB29.82GiB)。
然後找到一個有效的 CHS 組合,C * H * S = 62545920
或者如果您感到懶惰,使用 512 位元組區塊大小,這應該可以工作:C=30540(MiB 中的大小!),H=64並且S=32

最後,運行sudo fdisk -C 30540 -H 64 -S 32並編寫一個新的分區表來修復。
如果未正確偵測到更改,請重新啟動。

答案3

我知道這個地方是關於的unix,但是當我遇到這個問題時,我找到一台windows機器並使用diskpart(需要管理員存取權限)。因為當fdisk失敗時,這才有效;也許它會對某人有幫助。我現在無法嘗試這些說明,但
應該 類似於:list disk,,,,,,,,,,, 。 現在您的 USB 記憶棒大小就可以了(但當然,您已經丟失了資料)。 我也對在 Linux 上成功實現這一點的等效方法感興趣。select disk icleancreate partition primaryformat fs=fat32 quickactiveassignexit

注意:我不確定錯誤的尺寸是否表示dd失敗。無論如何,不要忘記附加&& sync到您的dd命令中。

相關內容