Недавно я взял в руки одну из этих палочек SanDisk Extreme 64 ГБ и начал с ней возиться. Во время этой истории, пожалуйста, имейте в виду, что это модель, в которой установлен removable
бит 0
(что означает, что Windows видит все свои разделы по умолчанию - каждый отображается в проводнике как один диск).
Цели:
- Иметь много разных загрузочных дистрибутивов на одной флешке
- Среди них должен быть установщик Windows 7 И установщик Windows 8
- Только один раздел должен быть автоматически смонтирован в Windows (и предпочтительно в других ОС) - первый (хранилище для файлов). Это сделано для предотвращения случайного изменения загрузочных разделов или файлов на них. Это должно быть типа NTFS.
- По желанию, я бы также хотел, чтобы на этой флешке был полностью загруженный полностью персистирующий linux (желательно Ubuntu).
- Все эти функции должны быть доступны в одном меню, отображаемом во время загрузки устройства с USB-накопителя.
Ramblings:
Теперь все это может быть достигнуто довольно легко с помощью комбинации SYSLINUX и GRUB (вы увидите ниже). Однако есть одна проблема: все загрузочные элементы на основе Linux (те, которые используют create ramdisk -> load kernel -> have fun
схему: например, PartEd Magic, Ubuntu Installer и т. Д.), Похоже, не имеют проблем с запуском из собственной папки на одном загрузочном разделе. Они прекрасно ладят, когда просто помещают их в разные папки и указывают на них отдельные пункты меню SYSLINUX (что бы они ни использовали после этого, это может быть просто еще один SYSLINUX :)).
Проблема (как всегда: D) в установщиках Windows. Они (или я должен сказать bootmgr
) отказываются распознавать относительные пути. Если вы поместите один установщик Windows в папку, скажем Win7
так, чтобы она выглядела так /Win7/bootmgr
, то проклятая штуковина ищет, \Boot\BCD
когда передается управление (а не \Win7\Boot\BCD
- местоположение, в котором она фактически хранится). Узнав, что, естественно, вы не можете поместить более одного установщика Windows в один раздел (одну структуру каталогов). Это нарушает ЦЕЛЬ 2 .
Текущая схема:
Нужно 10 репутации для публикации изображений :(. Вот схема визуализированная.
Описание:
- Обычный NTFS раздел. Делайте с ней все что угодно - это не повлияет на эти чувствительные загрузочные ссылки :)
- Загрузочный раздел FAT32. Здесь управление передается из MBR. Этот должен быть основным, чтобы можно было передавать управление из MBR. Он содержит основной SYSLINUX - тот, который показывает меню ( ЦЕЛЬ 5 и ЦЕЛЬ 1 ). Все разделы ниже расширены, чтобы поднять max-4-primary-разделов на диск
- Установщик Windows 7. Этот раздел содержит загрузочный сектор, который указывает на GRUB, который указывает
/bootmgr
(не спрашивайте, почему так много загрузчиков - это тестовая установка :)). Работает нормально, за исключением проблемы ниже ( ЦЕЛЬ 2 ). - Установщик Windows 8. Этот раздел содержит загрузочный сектор, который указывает на GRUB, который указывает на
/bootmgr
. Работает нормально, за исключением проблемы ниже ( ЦЕЛЬ 2 ). - Постоянный раздел Linux, на который была установлена обычная версия Ubuntu (с той же флешки). Он использует GRUB для управления своим загрузочным меню. Также имеет загрузочный сектор, конечно ( цель 4 ).
- Linux Swap. Используется Linux на предыдущем разделе обычно, но не имеет ограничений относительно того, кто может его использовать.
Теперь все это кажется правильным (и оно работает) .. кроме ЦЕЛИ 3 .
Проблемы:
- Я пытался использовать
hidden
флаг, чтобы скрыть эти разделы от глаз Windows, и это работало хорошо, даже слишком хорошо. Это также скрыло их от взгляда установщика Windows. Когда я попытался установить Windows из скрытого раздела, установщик в основном не нашел, откуда он загружался: O. Это КРИТИЧЕСКИЙ вопрос. - Я использовал 2 дополнительных раздела для размещения установщиков Windows. Это не очень хорошая схема, так как каждый раз, когда я хочу что-то изменить, и это не подходит, я должен переразбить. Это НЕ КРИТИЧЕСКАЯ проблема - я могу жить с этим.
Мои мысли:
- Есть вещи вне там как ISOLINUX и GRUB4DOS (они приходят , когда вы будете искать относительно этого). Из того, что я понял, они могут помочь мне на самом деле установить загрузочный .iso установщика Windows . Это правда? Некоторые страницы содержат предупреждение о смонтированных образах, так как это будет доступно только на этапе загрузки BIOS - при запуске установщика Windows он не сможет увидеть смонтированный образ. Это правда? Можете ли вы указать мне правильное направление?
- Может быть, я мог бы использовать какой-нибудь пользовательский установщик для Windows (потому что, по сути, я сражаюсь
bootmgr
здесь 100% времени) илиchroot
как-bootmgr
то так, чтобы он стал нормальным? Можно ли это сделать? Я думаю, что это все еще оставляет меня с проблемой, что раздел все еще скрыт, и установщик, вероятно, не увидит его - Может быть, я мог бы взломать путь
bootmgr
, хотя это довольно смелое предположение :)
Если есть какие-либо дополнительные советы по этому поводу, вы можете обсудить это здесь. Я открыт для любых предложений. Если есть что-то, что необходимо уточнить или предоставить дополнительную информацию - не стесняйтесь спрашивать.
Большое спасибо!
источник
bootmgr
иboot
из Win7 в корневую папку и отредактированный/boot/BCD
файл, чтобы отразить те, что изменились вdevice
иosdevice
узлах. После этого установщик нормально загружается из SYSLINUX через,chain.c32 fs ntldr=/bootmgr
но после этого появляется страшноеA required CD/DVD drive device driver is missing
сообщение. Повторная вставка в другой порт USB не помогает. Когда я нажимаю,Browse
я вижу, что ramdisk был смонтирован нормально и имеет все необходимые папки. Я снова потерян :(Ответы:
После долгого и в конечном итоге успешного путешествия я смог достичь всего этого.
Я создал учебник о том, как это сделать . Проверьте это.
По запросу я также публикую все это ниже:
Програмное обеспечение:
Прежде всего: вам нужен ПК с Windows 7/8 и административный доступ к нему (Vista может работать, не уверен). Это где учебник будет выполнен.
Чтобы выполнить все, что нам понадобится, этот программный пакет также зеркалируется на GitHub (нажмите Download ZIP ). [0] (отныне ссылки будут помечены [] ). Чтобы скачать его, вам может понадобиться зарегистрироваться там (не знаю почему).
Пакет программного обеспечения включает в себя:
Кроме того, вам необходимо скачать следующее:
Опционально (программное обеспечение, которое я рекомендую, которое сделает процесс более простым и гибким, но не обязательным):
.iso
для разделения и установки флагов разделов (аналогами являются Parted Magic, который недавно решил заплатить, или Partition Wizard меньшего размера, но имейте в виду, что это не Gparted, и вам нужно иметь некоторый опыт для его работы). [5]И, конечно, несколько установщиков Windows,
.iso
а также несколько загрузочных дистрибутивов Linux. Это может быть что угодно, что поддерживают YUMI и SYSLINUX (вы сможете проверить это позже в этом руководстве).Когда вы загрузите все это, вы готовы к следующим шагам.
Концепция:
Здесь схема работы будет кратко обсуждена.
Схема, обсуждаемая здесь, - то, что я использую для своей установки. Это, конечно, не единственный способ достижения той же цели. Я сделаю все возможное, чтобы попытаться объяснить это, чтобы вы могли настроить установку под свои нужды.
Этот процесс лучше всего описан на рисунке. (извините за Paint, графический дизайн на самом деле не моя сильная сторона):
Вот и все. Я действительно не знаю, как объяснить это лучше. Я буду следить за этой веткой, не стесняйтесь задавать вопросы в ответах.
Действия:
[Настройка программного обеспечения]
YUMI.exe
и все остальное). Дважды щелкните по нему и распакуйте в ту же папку.drag_here.cmd
файл. Примерно так (структура папок тоже должна быть такой): Если вы все сделали правильно, появится окно с сообщением о завершении процесса:[Разделение]
[Добавление базовой среды загрузки (YUMI)]
YUMI.exe
..iso
изображение. Экран будет выглядеть так:start_admin.cmd
от имени администратора . Это важно для его работы, щелкните его правой кнопкой мыши и выберите « Запуск от имени администратора» :[ВНИМАНИЕ] Опять же, я не несу ответственности за то, что происходит с вашими дисками (включая те, которые не упомянуты в этом руководстве), если вы не указали правильные номера дисков и разделов на этом шаге или в любом другом месте.
n
здесь (неожиданные побочные эффекты могут появиться позже, если вы нажметеy
, делайте это, только если вы знаете, что делаете).[Добавление установщиков для Windows (WinSetupFromUSB)]
.iso
пути) этому примеру:[Завершение]
<drive root>\multiboot\syslinux.cfg
. Он содержит информацию о меню, которое отображается при загрузке с вашего диска. Более подробную информацию об этом можно найти здесь: menu.c32 - синтаксис syslinux.cfg , команда chain.c32 chainloader . Сейчас нам нужно сделать пункт меню, который позволит нам загружать наши установщики Windows. Добавьте следующие строки внизу (или между другими пунктами меню), чтобы создать новый пункт меню: Желательно добавить пустой символ новой строки до и после этого кода . Настройте метку входа в меню, если хотите. Сохраните и закройте файл.<drive root>\boot\bcd
файл в загрузочном разделе:syslinux.cfg
пункт меню, без отображения какого-либо меню вообще . Кроме того, вы можете нажать Установить по умолчанию для любого пункта меню, который вы хотите сделать по умолчанию . Нажмите Закрыть и выйдите из Bootice tool. Также выйдите из WinSetupFromUSB .[Очистка (ДОПОЛНИТЕЛЬНО)]
[Скрытие загрузочного раздела (опционально)]
Кроме того, я предпочитаю, чтобы программа vmount ( [3] в разделе ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ) могла быстро монтировать скрытый раздел под Windows, если это необходимо.
Вот и все, если вы заметили какое-либо заблуждение или ошибку, не стесняйтесь опубликовать это здесь. Также приветствуются вопросы и отзывы.
Кредиты:
Wonko , erwan.l , ilko , Steve - участники сообщества reboot.pro, которые мне очень помогли в этой теме . На этом путешествие закончилось :)
Боб, который первоначально намекнул на водителя ImDisk в этой комнате .
Марио, который рассказал о файлах BCD, их назначении и способах их редактирования в этом оригинальном вопросе . Вот где путешествие началось.
Рики, который исправил ошибку в отступе.
источник