вторник, 23 мая 2017 г.

Что такое USB-FDD и USB-ZIP

Вы никогда не задумывались, а что это за такое устройство USB-FDD, которое отображается в Bios/Uefi  и с которого по идее можно загружаться? Думаю, вы догадываетесь, что речь идёт о магнитных дискетах, которые уже давно в прошлом. Но почему тогда этот пункт до сих пор присутствует в прошивках ноутбуков, если он никому не нужен?
usb-fdd_in_uefi
В этой заметке я расскажу, что мне удалось узнать по этому поводу.

Недавно мне попался такой древний компьютер, который даже не умеет грузиться с USB. Я за всю жизнь до этого видел только один такой. Ну, оно понятно, usb флешек раньше не было вообще, а когда они появлялись, они не были такими дешёвыми. Bios этого пациента предлагает варианты загрузочных устройств из реалий того времени: USB-FDD, USB-Zip, USB-CDROM и загрузку по сети.
Легкий, но неинтересный путь — записать операционную систему на оптический диск (грузиться по сети — это хардкор, я этим заниматься не хотел).  Этот вариант ещё неудобен тем, что ОС постоянно обновляются, и в итоге процедуру записи диска пришлось бы делать периодически, что неудобно. С флешками в этом плане всё проще.
Floppydisk_90mm(3.5inch)Но как же заставить загрузиться этого мамонта с флешки? Тут я заинтересовался пунктами usb-fdd и usb-zip. Помните такие дискеты? На дискеты стандартного размера можно записать всего 1.44 Mb, поэтому никакую операционку туда не запишешь =) Но что если записать туда загрузчик, который позволял бы грузиться с usb флешек, обходя таким образом ограничение биоса?
usb-boot-optionЭтот вопрос не сразу, но гуглится: Plop Boot Manager — как раз то, что нужно:
USB boot without BIOS support (UHCI, OHCI and EHCI).
Не очень понравилось, что это несвободный софт, ну да ладно, ничего похожего я больше не нашёл. Благо, он хоть фриварный.
Ок, с инструментарием разобрались. Но как мне теперь сделать загрузочную дискету с этим загрузчиком? Флоппивода/дискетковода у меня внешнего нет, как и самой дискеты. Конечно, можно записать CD с этим загрузчиком, а затем грузиться уже с флешки, но всё же, можно как-то обойтись вообще без диска?
Я очень долго гуглил, яндексил, как же сделать так, чтобы флешка представлялась компьютеру, как будто она вставленная дискета? Много всплывает древнего хлама (примерно за 2002 — 2010 года), в котором в основном только перечислены данные устройства, но про эмуляцию — вообще ничего.
Но добиться этого у меня всё же получилось. Для этого просто надо знать, что на дискетах не было mbr, а прям сразу шли данные. Хотя я там глубоко не копал, а просто с помощью dd записал образ дискеты с сайта разработчика на флешку. Тогда в списке загрузочных устройств напротив пункта USB-FDD появилось название флешки с Plop Boot Manager.
Ничего кроме улыбки это не вызывает, так, баловство. Не знаю, может можно эмулировать мега крутую дискету объёмом в целый гигибайт, к примеру, но я решил на это забить. (Вот что-то интересное по поводу дискеты превыщающей 1,4 Mb.) Я просто впервые в жизни столкнулся с тем, что гружусь с этого пункта в UEFI прошивке =) Для чего в современных прошивках оставили этот пункт для меня загадка.
Ну а что касается USB-ZIP устройств, то тут мне помогла википедия, так как о таких устройствах я даже никогда не слышал. Я так понял, что это многослойные дискеты, которые появились как раз на заре usb флешек, поэтому умерли практически не распространившись. Как видно на первом скриншоте, этого пункта в современных прошивках уже нет (по крайней мере в этой прошивке).
И кстати, этот plop загрузчик так и не смог загрузить мне операционку с флешки. Сам он запускается, но при выборе пункта usb он пытается загрузить драйвера usb1.1, затем 2.0, затем 3.0, после чего выдаёт ошибку:
Boot Error No Boot Device Found. Please retry it.
Также я пробовал записать его на диск, грузиться с него, он запускается, но всё равно с usb флешки не хочет грузить. Так что для древних компьютеров пока только остаётся вариант записать диск с операционкой. Поправка: я проверял это на современном компе, на котором записывал диск и на нём была эта ошибка. А вот на древнем компе (где биос не умеет грузиться с usb флешек) я проверил возможность загрузиться с usb флешки (используя записанный диск c Plop boot manager) и был удивлён, что это работает. Уж не знаю почему так, возможно в современных биосах есть свои драйвера для работы с usb устройствами и они как-то конфликтуют с драйверами plop?
Кстати, по моим ощущениям, на древнем компьютере загрузка с dvdrom происходит всё же быстрее, чем с cdrom с диском plop и вставленной флешкой. Хотя на современном компе было наоборот: с диска он грузится намного дольше, чем с флешки. Может быть plop ошибочно задействует usb1.1 вместо usb2.0.
и ещё одно: недавно видел одну программку «BOOTICE», которая умеет восстанавливать mbr. Так вот в ней увидел в списке возможных вариантов Plop Boot Manager MBR. Надо бы разобраться для чего/почему он там и интегрировать его в ms-sys.
Так что выход есть. Но чтобы не зависеть от этого магического диска, можно пробовать обновлять/модифицировать биос в компе, хотя легче его выкинуть.

Комментариев нет:

Отправка комментария