
我不小心刪除了一個分割區並給了分割區本質上就是空間的劃分方式,認為修復錯誤不會太難。我錯了。為什麼刪除分割區後資料就無法存取了?當我嘗試存取磁碟時,現在它說需要格式化才能存取。這讓我很困惑,因為格式沒有改變。
答案1
為什麼刪除分割區會導致資料遺失?
事實並非如此。
我的意思是,好吧,有時並非如此。
有時確實如此。
這取決於你使用什麼軟體。
從理論上講,沒有充分的理由說明刪除分割區會導致資料遺失。畢竟,分區基本上只是位於特定位置(稱為“分區表”)的一組數字,它們指定了分區的邊界。理論上,將這些數字更改為零不會導致分區邊界內的其他扇區發生變化。因此,理論上,您的檔案系統磁碟區應該保持不變(不變)。
然而,該理論有一個明顯的例外。
無論出於何種原因,(至少某些版本的)MS-DOS FORMAT.COM 期望新檔案系統磁碟區的第一個磁區包含清除為零的位元(在 FORMAT 執行之前)。將這些位元清零對於 FORMAT.COM 來說是一項明智的任務,但 FORMAT.COM 只是期望該任務完成。
為了適應這種奇怪的期望,MS-DOS FDISK.EXE(分割軟體)將會擦除第一個磁區。
最明智的工具是 FORMAT。 Linux 手冊頁 @ die.net:fdisk指出,“我們認為這是 DOS FORMAT 和 DOS FDISK 中的一個錯誤。”然而,由於這兩個軟體都帶有相同的作業系統,因此這種安排往往效果很好。如果人們只是簡單地遵循 MS-DOS 手冊中的說明,就不會意識到這種情況。
儘管這種安排看起來不合適,但其他一些作業系統通常會支援做同樣的事情,以便與 MS-DOS 相當相容。這是因為 MS-DOS 很受歡迎(早於 Windows 95 和 Microsoft Windows 的後續版本),因此其他作業系統都尋求與 MS-DOS 的兼容性。
毫無疑問:您可以使用某些軟體(例如OpenBSD 的fdisk)「擦除」分割區(至少對於基於MBR 的分割區,其定義為將分割區類型識別碼設為零),並且不會遺失分割區內的任何數據。如果您記錄了設定(邊界、類型識別碼),則可以重寫這些值,並且分區中的所有資料保持不變。
因此,分區開頭的資料是否會被破壞取決於您使用的軟體。 (或者,可能對於某些軟體,您選擇什麼設定/選項。)
答案2
透過刪除分割區,您將刪除標記訊息,這些標記資訊告訴作業系統該分割區在磁碟上的位置以及它佔用了多少磁碟空間。
如果沒有這些信息,作業系統不知道從哪裡開始尋找有效的檔案系統資料。磁碟分割區和格式化的一部分將設定標頭,告訴作業系統所有檔案系統元資料的位置,以便可以讀取它。
如果刪除並重新建立分割區,它將不會在分割區標頭中設定檔案系統特定資料。在使用磁碟之前需要對其進行格式化。
我聽說如果你刪除一個分割區測試磁碟可以用來還原它,但如果您手動重新建立分割區,那麼您可能會覆蓋它試圖復原的資料。