После создания загрузчика, если я скопирую байты загрузчика и вставлю его на 1-е 512 байт флешки с помощью шестнадцатеричного редактора, будет ли это работать? (На самом деле я хочу научиться создавать операционную систему с нуля.)
Можно ли записать MBR флешки любым шестнадцатеричным редактором?
Ответы (2)
Я не совсем уверен, что понимаю ваш вопрос, но отвечаю на заголовок: да. Вы можете писать в любую часть диска с помощью шестнадцатеричного редактора с соответствующим дизайном и соответствующими разрешениями (обычно в Linux требуется доступ «sudo»).
Например, запись в загрузочный сектор флешки необходима для автоматизации загрузки системы CHDK. .
Не все шестнадцатеричные редакторы предназначены для доступа к дискам, некоторые могут работать только с файлами. Например, NCurses Hexeditor обычно работает только с файлами, но может диски как файлы в среде Linux/Unix, используя флаг -d
.
Команда Linux dd
также включает низкоуровневую запись на диски. Это может быть полезно в вашем случае, так как его можно использовать для побайтового копирования содержимого диска, включая разделы MBR.
Не знаю насчёт HEX-редакторов, но похоже в Windows можно попробовать CreateFile
с таким именем \\.\PHYSICALDRIVE0
или просто \\PHYSICALDRIVE0
. И измените их с помощью WriteFile
(осторожно!!! иначе вы можете повредить установку ОС или другие данные).
Вероятно, вы можете определить имя устройства с помощью WinObj. Также взгляните на этот проект и этот вопрос.