Xóa mã khởi động chính nhưng để lại bảng phân vùng?


7

Đối với mục đích thử nghiệm, tôi cần phải giải quyết MBR trên máy chủ thử nghiệm Windows7: Tôi muốn xóa Mã khởi động chính nhưng để lại Bảng phân vùng bên trong.

Liệu lệnh Linux sau đây thực hiện việc này hay nó xóa sạch toàn bộ MBR, bao gồm Bảng phân vùng?

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

Cảm ơn bạn.

Câu trả lời:


7

Lệnh đó sẽ loại bỏ bảng phân vùng. Nếu bạn muốn xóa MBR và giữ bảng phân vùng:

dd if=/dev/zero of=/dev/hda bs=446 count=1

Xem Trang MBR của Wikipedia cho bố cục MBR. Bảng phân vùng chính bắt đầu ở byte 446 (tính từ 0).


để được an toàn tôi sẽ sử dụng bs=440, tôi không chắc các cửa sổ sử dụng vùng chữ ký đĩa tùy chọn 4 byte đó làm chữ ký hay phần đuôi của mã khởi động.
quack quixote

Khởi động với USB Linux sống dựa trên Debian 2.6.32, tôi "sudo -s" để root và chạy lệnh ... nhưng nó báo "0 byte được sao chép", mặc dù tôi đã kiểm tra rằng phân vùng / sda không được gắn kết. Có ai nhìn thấy điều này?
OverTheRainbow

Bạn có ổ đĩa SATA hoặc ổ đĩa IDE không?
John T

3
Tìm thấy nó: "if = / dev / zero" hoạt động, trong khi "if = / dev / null" không làm gì cả. Cảm ơn.
OverTheRainbow

1
đúng. lấy dữ liệu từ / dev / null có thể nhận được EOF ngay lập tức.
quack quixote
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.