Pull to refresh

Comments 74

Теперь ждем статьи как все сделать красиво на GRUB2…
Не все так просто. Тут штука в чем — всякие FiraDisk вшиты и иже с ними. Там пачтить придется
Ну, думаю, не фирадиском единым же…
GRUB2 умеет в UEFI, я думаю, нужно только сказать ему, чтобы он устанавливал нужные файлы.
Ух-ты, мой коммент инициировал целую статью :).
Но все равно, поддержка UEFI тут реализована методом жуткого костыля. Мне больше нравится, как эта проблема решена в сборке товарища AlexGen с Рутрекера (прямые ссылки давать опасаюсь) — там в обычном режиме грузится Grub4DOS (графический или текстовый режим), а в режиме UEFI — загрузчик BCD. Для переделывания «под себя» принцип «кинул образ в папку» тут не прокатит — нужно править текстовые файлы Grub4DOS, и бинарные файлы BCD (напр., при помощи Visual BCD Editor), но я не думаю, что для аудитории Хабра это проблема. Но остаются известные проблемы FAT32 с размером файлов и WinXP уж очень долго устанавливается с раздела FAT32. Были у меня мысли несколько переделать сборку, разбив флэшку на два раздела ( FAT32 и NTFS), чтобы образы имеющие поддержку UEFI находились в первом, а остальные — во втором, но вечно то времени нет, то лень… так уже больше полугода никак и не займусь.
А почему выбор файловой системы сводится к FAT32 vs NTFS?
exFAT, по-моему, весьма достойный вариант. Никто из загрузчиков с ним работать не умеет?
Хм, а вот честно говоря слона-то я и не заметил. Совершенно забыл про данную ФС. Надо погуглить, но, боюсь, UEFI не умеет в exFAT.

edit: не умеет. Увы.
А если на флешке с grub4dos держать два раздела: первый с за грузчиком в FAT32, а второй с файлами в NTFS? Это не решит проблему совместимости с UEFI и одновременно поддержкой больших файлов?
UFO just landed and posted this here
А я выше, хе-хе:)
Я думаю, принцип должен быть такой: основной раздел нужно отформатировать в NTFS, в него поместить загрузчик GRUB4DOS и все образы и загрузочные утилиты без поддержки UEFI: WinXP, линухи, PE-сборки, Викторию, антивирусы и проч.
Второй форматируем в FAT32 и пихаем туда загрузчик BCD и все, что поддерживает UEFI: Win7, Win8, РЕ-сборки.
Проблема тут в том, чтобы из GRUB4DOS обратиться к образу на втором разделе при загрузке в обычном режиме. Я больше полугода назад игрался с этим, но с наскока не получилось, а потом дела навалились, потом подзабыл… В общем до сих пор никак :(
А можно подробнее описать проблему загрузки с UEFI? Он не понимает нтфс на флешке? Просто ни разу не сталкивался с подобной проблемой. У меня загрузочная флешка с нтфс и WinPE, из которой я с помощью WinNTSetup ставлю любую винду из любого образа, да и не только винду думаю можно поставить. Набор утилит позволяет делать все необходимое из WinPE.
UEFI ищет носитель, форматированный в FAT32. Это и есть корень всех проблем.
А разве в UEFI нет чего-то типа legacy mode, в котором он нормально увидит нтфс на флешке? Кроме того с GPT, как я помню, наступают проблемы при активации левой винды, как-то это не тривиально делается. Да и разделы больше 2 тб не так часто встречаются, помню что вернулся к MBR и сделал 2 раздела меньше 2 тб — проблемы закончились.
В FAT32 есть еще ограничения на размер одного файла. А вот образы > 4Gb встречаются невероятно часто.
С этим, как раз, все понятно. Хотя у меня ни одного загрузочного образа > 4Gb нет. Интересно даже послушать про примеры.
Винда, все редакции в одной. Какой-нибудь линукс, с кедами, гномом и другими оболочками вместе
UFO just landed and posted this here
Егойный лив занимает, как и ожидалось 700 мб, и версий для инсталляции там пол ведра, нашел и одну, которая больше 4 гб. Так же как и винда — «все версии», эм, оно того стоит, чтобы держать все в одном образе? Ну, впрочем, это риторические вопросы, может кому-то так удобнее. меня больше интересует есть ли в UEFI возможность загружаться в «старом» режиме, т.к. мне усиленно кажется, что так я и делал, и спокойно загружался с нтфс.
UFO just landed and posted this here
Т.е. как я понимаю, 90% всех проблем с нечитанием UEFI нтфс, все-таки решаются включением legacy mode. Осталось понять действительно ли это 90% или больше/меньше и какая тенденция у разработчиков UEFI в будущем. И еще оставят ли они возможность отключать Secure Boot.
Зависит от того, что нужно решить. Если система уже поставлена в UEFI режиме (например, ставилось на ноутбук с DVD, который потом на второй HDD заменили), то загружаться в recovery прийдется опять в режиме UEFI.
Истинная причина проблем в том, что в режиме BIOS (он же Legacy Mode) необходимо разбивать диск в MFT, а в режиме UEFI — в GPT.
Естественно, речь идет о диске, на которую ставим ОС, в каком формате разбит второй и далее — без разницы.
А если системный диск > 2.2ТБ, то выбора не остается, только UEFI.
вы кажется чего-то не поняли или не знаете или может я чего-то не понял. я сказал что у меня флешка с нтфс, на которой winpe, загрузившись с этой флешки в легаси моде, я могу разбить диск как в мбр так и в гпт. а про системный диск, который делается больше 2 тб я уже писал что есть проблемы с активацией левой винды и проще сделать этот диск меньше 2 тб.
Представьте ситуацию: в компьютере имеется диск с разделами C:\ и D:\. На на первом необходимо переустановить Винду, на втором лежат важные данные. Система установлена в режиме uefi, диск разбит в таблице gpt.
С ntfs-флэшки в uefi вы загрузиться не сможете. Если включите легаси-режим, то не сможете в нем установить Винду на gpt, потому что в легаси режиме возможно установить ОС только на диск с разметкой mbr (опечатался в пред. комментарии, не mft, а mbr). Остается два пути: перебить диск на mbr с потерей данных, либо искать загрузочный носитель с поддержкой uefi и установит ОС в этом режиме.
А если диск в этом компьютере больше 2.2 ТБ, то мы никак не сможем разбить его в mbr, потому что она не поддерживает такие объемы, а если разобьем, то часть диска останется неразмеченной.
Повторюсь: в легаси режиме вы не можете установить систему на диск, разбитый в gpt, в uefi режиме вы не можете установить систему на диск, разбитый в mbr. Разбить сможете, установить — нет.
смогу, конечно, установить винду и на гпт и на мбр, загрузившись в легаси, о чем я вам и написал в самом начале – для этого есть winntsetup
про диск больше 2 тб я тоже писал – сделайте там 2 раздела, главное чтобы они каждый были меньше 2тб
О winntsetup не слыхал — она что, позволяет развернуть систему, загрузившись в легаси-режиме, чтобы она потом работала в режиме uefi? Или я вас не так понял?
А насчет ограничения в 2 ТБ: это ограничение не размера раздела, а ограничение размера диска, т.е. суммы размеров разделов. 2 раздела по 2 ТБ в разметке mbr создать не выйдет.
winntsetup позволяет провести первый этап установки любой винды из винпе, не важно как она была загружена и куда устанавливать. в частности можно использовать образы для установки, предварительно примонтировав.
и про второе – у мбр все-таки ограничение 2 тб на один раздел, не знаю где вы взычитали что-то другое.
Обычно только FAT32, на некоторых системах могут быть драйвера для NTFS. Возможно в вашем случае на вашей флешке 2 раздела, один из которых FAT32 с загрузочными файлами.
«на некоторых системах могут быть драйвера для NTFS» — имеется ввиду на некоторых UEFI? И нет, у меня 1 раздел на флешке, нтфс.
Да, возможно на некоторых реализациях UEFI. Строго говоря реализация может уметь читать бинари откуда угодно, хоть с какой-нибудь UFS, но _обязана_ уметь только FAT32.

Свежий пример: Lenovo t440p в UEFI режиме умеет грузиться только с флешек с FAT32.
Ага. В котором какая-нибудь венда не умеет загружаться с уже имеющейся GPT на винте :)
какая винда не умеет загружаться? речь шла про winpe, которая чудесно все умеет.
WinPE грузится со своей флешки/образа.

Я отвечал, почему может быть важно загрузиться в UEFI режиме.

Как минимум десктопные Win7 и Win8 не умеют загружатся с GPT-ных разделов в Legacy/BIOS режиме.
ну понятно что не умеют, но мы же обсуждали загрузку с флешки, при чем тут десктопные версии?
Ну вот первая и основная цель загрузки с флешки, которую я вижу — починить имеющуюся систему.

Так вот, чтобы перепрописать установленную систему в UEFI-ный bootmgr, нужно обязательно загрузиться в UEFI режиме.
мне казалось что бутайс полностью решает эти проблемы?
В моем случае rufus решил. После нескольких неудач с USB/DVD Download tool от MS
я имею ввиду что загрузившись в легаси, винпе, с помощью бутайса можно прописать в загрузчик гпт все что угодно. я не вижу пока какие действия нельзя совершить из винпе, загрузившись в легаси мод.
UEFI-ный boot manager (который грузится еще до винта и gpt вообще) и позволяет выбирать ось, или загрузить setup, настраивается ТОЛЬКО если система была загружена в UEFI режиме. Просто потому что нет доступа к NVRAM из Legacy.
видимо я снова чего-то не знаю, но как я понимаю, уефи просто понимает гпт, в отличие от биоса. ну и еще там есть security mode. но при его отключении уефи просто смотрит какой раздел загрузочный и никакого волшебства.
В UEFI есть свой boot manager, который понимает GPT и умеет загружать с него системы. В этом бут менеджере есть свои boot entries, которые ссылаются на файлы в специальном 'EFI boot' разделе. Соответственно их можно добавлять/удалять/менять. Вендовый (или любой другой UEFI-совместимый) установщик копирует свой boot loader в раздел и создает себе boot entry, ссылаясь на свой boot loader. Выглядит это вот примерно так:

dion@debpad:~% sudo efibootmgr -v    
BootCurrent: 0015
Timeout: 0 seconds
Boot0001  Boot Menu     FvFile(126a762d-5758-4fca-8531-201a7f57f850)
Boot0002  Diagnostic Splash Screen      FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
Boot0003  Lenovo Diagnostics    FvFile(3f7e615b-0d45-4f80-88dc-26b234958560)
Boot0004  Startup Interrupt Menu        FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
Boot0005  Rescue and Recovery   FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
...
Boot0015* debian        HD(1,800,80000,11bd80e9-736b-46c2-b17f-9d0f000ac283)File(\EFI\debian\grubx64.efi)
Boot0016* rEFInd        HD(1,800,80000,11bd80e9-736b-46c2-b17f-9d0f000ac283)File(\EFI\refind\refind_x64.efi)
Boot0018* Windows Boot Manager  HD(1,800,80000,11bd80e9-736b-46c2-b17f-9d0f000ac283)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...a................


При чем в этой самой boot entry ссылки на файлы содержат как минимум GPT-ный GUID раздела. Если он внезапно перестанет совпадать (например, в моем случае после переноса системы на SSD), то загрузиться не получится.

И да, именно этот Boot Manager можно настроить/поправить только из UEFI режима.
а где-то можно про это почитать, потому что мой гугл этого не находит?
я читал нечто похожее и там было написано что уефи берет всю инфу из скрытого фат раздела
itman.in/efi-boot/
т.е. ничего в самом уефи не хранится. и именно этот раздел может править бутайс, как я понимаю.
Это не так. Проверить просто — выдернуть винт с этим скрытым UEFI-ным разделом, и попытаться вызвать boot manager.
может записи этого бут менеджера имеют смысл только при секюрити буте и не используются если это отключено? а то пропадает смысл скрытого раздела, который винда всегда делает про гпт разделе диска.
Это не так. У меня лично после переезда на SSD UEFI отказывался загрузить венду, пока recovery не поменял там GUID.

Про какой скрытый раздел идет речь сейчас? Вот на этом примере:

Number  Start   End     Size    File system  Name                          Flags
 1      1049kB  269MB   268MB   fat32        EFI System                    boot, esp
 2      269MB   1318MB  1049MB               Windows RE                    hidden, diag
 3      1318MB  1633MB  315MB   ext3         debpad-boot
 4      1633MB  170GB   169GB                debpad-system
 5      170GB   170GB   134MB                Microsoft reserved partition  hidden, msftres
 6      170GB   256GB   85.7GB  ntfs         Win8                          msftdata


Если про самый первый (где лежат системные загрузчики), то в нем есть смысл:
1. UEFI Boot Manager показывает свою менюшку (из пунктов, которые в NVRAM лежат) или выбирает по таймауту boot entry по умолчаниюю
2. Этот же UEFI Boot Manager из Boot entry достает GUID раздела, находит его, загружает с этого раздела прописаный UEFI App (например \EFI\Microsoft\Boot\bootmgfw.efi) и запускает.
3. Дальше уже дело UEFI App.

Для п.2. очевидно, что UEFI Boot Manager должен понимать файловую систему на этом скрытом разделе.
да, я имел ввиду именно первый раздел, esp и там всегда будет фат. по моему именно там хранится меню, загрузчики и ссылки на на guid разделов. собсно в том мануале, что я кинул, именно так и объясняют.
Меню точно не там. Лично сталкивался.
UFO just landed and posted this here
Использую для этого кейс с функцией VirtualCDROM от ZALMAN (ZM-VE200SE). Гораздо удобнее чем ваши костыли и работает везде, где надо.
Гораздо удобнее, т.к. на него еще и бекап перед установкой снять можно (диск-то внутри побольше будет, чем любая флешка).
UFO just landed and posted this here
Заметил, что в любом посте найдется человек, который расскажет про замечательный залман. Увы, две тысячи деревянных есть не у всех в нужный момент.
Вопрос даже не в стоимости. Все почему-то забывают про его габариты.
А если класть в сумку — можно просто таскать пачку с DVD и не думать про загрузчики.
Вы знаете, я давно еще увидел про него статью, и прям загорелся. В сущности, я понимаю обладателей — аппарат очень хороший и мне в принципе было бы не сложно таскать его с собой.
Но, пардон, может быть я чего-то не понял? Габариты не стандартные для бокса под 2.5"?
Да нет, габариты-то стандартные. Просто чуть больше за счет экрана.
Я имел ввиду, что это совсем другой сценарий использования.

Таскать бокс с собой, если он нужен от случая к случаю, станет не каждый. А по закону подлости именно в нужный момент вы его выложите из сумки/кармана.

А для сисадминов залман, наверное, и правда идеален. Тогда и стоимость окупается, если это помогает работе.
UFO just landed and posted this here
У меня проблема была как раз с флешками. Подготовишь — все запишешь, а потом куда-нибудь сунешь ее и фиг найдешь. А залман — вот он. Искать легко. :)
UFO just landed and posted this here
UFO just landed and posted this here
Маленький нюансик насчет стоимости. Кроме самой коробочки нужно учитывать стоимость жесткого диска.

А чтобы все было совсем шоколадно — и объемы, и скорость — ставить туда нужно SSD и брать свежий ZM-VE400 с поддержкой USB 3.0.

Стоимость такой коробочки может выйти и вовсе под десятку деревянных. А тысяч пять-шесть — это минимум.
UFO just landed and posted this here
Zalman VE300 — $30, 2.5' диск — $60 — все счастье $90 + доставка

VE300 — вполне себе USB3
VE400 — глючный.
В чем конкретно заключаются глюки?
Юзаю около полугода, пока не глючило.
Огорчает только отсутствие механического джойстика, как на VE200, не так удобно менять образы.
Образы переодически отваливались. Ставишь-ставишь что-нибудь и раз и потеряли диск.
Образы именно операционных систем или вообще любые?
Странно. Обычно этим всякие LiveCD балуются.
Прошивать не пробовали?
Блин, куча комментариев, что лучше, а что хуже и ни одного что ктото поставил по этому мануалу.
Мне вот необходимо именно UEFI с образами больше 4 гигов.
Но вот как это сделать вообще не понятно.
Флешка подготовлена все образы закинуты Ctrl+F2 нажато, но не грузится.
Что нужно сделать?
Устанавливаем файл ImDisk\imdiskinst.exe из папки, после чего перетаскиваем файл образа на скрипт MakePartImage_AutoRun_FAT32.cmd в основной папке.

О каком образе идет речь в данном случае? У меня уже несколько штук скопировано в папку _ISO
И что происзодит после установки ImDisk\imdiskinst.exe? Заметил что копируются какието файлы в папку windows.
Есть 2 простых факта:
1) uefi совместимо только с fat32.
2) на fat32 нельзя записать файлы размером больше 4 гигов.

Чтобы преодолеть эти 2 ограничения, easy2boot идёт на такое ухищрение: если загрузиться по-обычному, его можно попросить заменить partition table таким образом, чтобы система увидела только один раздел fat32, с содержимым нужного образа, с которого уже можно будет грузиться в uefi-режиме. Такой раздел создается из посекторного образа раздела (imgPTN), который получается путем конвертации iso. Для конвертации как раз используется MakePartImage. Ему для работы нужен imdiskinst, драйвер виртуального диска, куда маунтится iso. Ctrl+F2 нужен вроде как раз для того, чтобы образ раздела физически располагался непрерывно.

Возможно, эта ссылка вам поможет разобраться, как она помогла мне: www.easy2boot.com/add-payload-files/adding-uefi-images/
Sign up to leave a comment.

Articles