Ubuntu
故意刪除虛擬機上的 MBR,但保留條目
我正在玩主引導記錄。我決定在我的 vmware 機器上刪除並恢復它。
使用 Ubuntu LiveCD 我正在嘗試使用以下命令擦除分區條目和簽名:
dd if=/dev/zero of=/dev/sda bs=1 skip=446 count=66
或者:
dd if=/dev/urandom of=/dev/sda bs=1 skip=446 count=66
為了驗證我的更改,我使用命令檢查:
dd if=/dev/sda bs=1 skip=446 count=66 | hexdump -C
但我沒有看到零或隨機字元。一切都沒有改變。
我重新啟動了我的機器。正如預期的那樣,我無法啟動我的作業系統。我再次啟動 LiveCD,再次看到 MBR 分區和簽名沒有變化,舊數據被保留。怎麼了?
bs=1
你只count=66
刪除了 66 個字節,mbr 程式碼是 446,簽名是最後 2 個字節MBR 不是一個分區,而是磁碟的第一個塊,塊 0,大小為 512 字節,劃分如下:
446(bood code) + 64(partition table) + 2 (magic number)
你的問題是你正在使用跳過
男人dd
skip=N skip N ibs-sized blocks at start of input
但是您需要使用 seek 轉到 /dev/sda 的字節 446
seek=N skip N obs-sized blocks at start of output