Как загрузить windows через grub

Загрузить Windows напрямую через Grub или как собрать загрузчик.

Итак имеем — измененную таблицу разделов.
Grub2
ArchLinux на нетбуке
Windows 7 где то на /dev/sda3
Загрузчик Windows на /dev/sda2 который НЕ ЗАГРУЖАЕТ windows из за смены разделов.
Возможные решения
1. Загрузить Windows напрямую через Grub2 либо используя другой загрузчик.
2. Исправить загрузчик винды и грузить его через граб
Особо умным говорю: chainloader +1 тут не катит, т.к. рабочего загрузчика нет, update-grub тоже не катит — у меня арч и он не ищит автоматом ОС, а также если и ищет, то только другие загрузчики, саму винду он не пишет.

На винфак пошлют ведь.

Самая сложная операция знаешь какая?
Вырезание гланд.

Виндузятки в любом случае посоветуют fixboot сделать. Но у меня нетбук — диск не вставишь, а через образ как то муторно..да и чет интересно как без этого.

Я даже пейсать сюда не буду

Удваиваю fixboot

Если конечно ОПу не хочется копировать загрузчик с одного диска на другой с помощью dd (ректальная тонзиллэктомия такая ректальная)… либо «отредактировать boot.ini» (возможно, это умеет тулза EasyBCD).
P.S. В загрузке с образов нет ничего плохого, сабж расписан здесь, секция Grub4DOS.

На винфак уже посылали?

Правь boot.ini. Его в семерке эти идиоты спрятали куда-то, но найти можно.

Не уверен, что в твоём случае это поможет, но можешь поставить os-prober и запустить, если он найдёт винду, то попробуй «grub-mkconfig -o /boot/grub/grub.cfg»

Если не сработает, то копируй загрузчик на нужный раздел или правь BOOT.ini.

Как, кстати, как вы умудрились запихнуть загрузчик отдельно от системы?

Итак имеем одного ССЗБ.

//map+makeactive не поможет?

1. grub4dos «chainloader /bootmgr»
2. Windows 7 recovery CD + переставить GRUB из chroot’а.

linux16 bootmgr
linux16 ntldr
может и сработает, никогда не пробовал

Была у меня давно почти один в один ситуация.
Разве что только выньдос был не сивень, а хр.
Копал, копал- в итоге всё таки сделал fixboot
через образ (дисковод в ноуте был, но не рабочий)
и всё завелось моментально)
Правда в хр и с boot.ini всё понятнее..
Вообщем если получиться сделать не потрогав boot.ini и без
фиксбута, интересно будет услышать как 🙂

>и он не ищит автоматом ОС

А установить os-prober, не?

И да, возможно, надо сделать map, если его не выпилили в грабе 2.

>Как, кстати, как вы умудрились запихнуть загрузчик отдельно от системы?

В Линуксе всегда же можно было, а m$ тырит все фичи из юниксов (например, каталоги и симлинки), поэтому в спермёрке по дефолту такое. Более интересно, как ТС смог сдвинуть разделы («Загрузчик Windows на /dev/sda2»), вставив в таблицу перед загрузочным разделом венды ещё раздел. Если при этом физически разделы расположены не в том порядке, что в таблице (т.е. раздел с загрузчиком венды самый первый, а в таблице второй), то надо пересоздать таблицу, поставив разделы в правильном порядке.

READ  Драйвера на сетевой адаптер tp link ac1200

Случилось странное, загрузился я в режим востановления на ноуте. Он грузанул свою семерку востановления, ЗАТЕР загрузчик востановления и заменил его загрузчиком винды)

когда тестил винду, столкнулся с похожей проблемой,

пошукал бы в гугле программку(черт, не вспомню название), она под виндой позволяет в загрузчик линупс прописать. (винда была где-то в конце винчестера)

Источник

Аварийный запуск системы из командной строки GRUB

Краткая инструкция по загрузке Windows и Linux из командной строки GRUB на случай каких-либо неполадок. Сразу оговорюсь, что сам grub2 должен запускаться, если же вы не можете попасть в консоль grub2, то вам скорее всего потребуется переустановка grub.

Запуск Linux с помошью командной строки GRUB

Нам понадобится написать всего 3 строчки: «set root«, «linux» и «initrd» и в конце дать команду «boot».

set root=(hd0,5)
linux /boot/vmlinuz-2.6.32-generic root=/dev/sda5
initrd /boot/initrd.img-2.6.32-generic
boot

Немного поясню — в строке set root указываем на корневой раздел linux. В моем случае это был «hd0,5», он же «/dev/sda5», то есть пятый раздел первого диска. Список доступных разделов диска можно получить, выполнив команду ls.

Далее, командой linux, указываем загружаемое ядро. Полное название ядра знать не обязательно, просто пишем «linux /boot/vmlinuz» и нажимаем tab. Консоль сама допишет правильный результат. У меня был предложен выбор между старым и новым ядром. Только в конце строки не забудьте дописать параметр root=/dev/sda5 или что там у вас.

Для старта системы этого уже должно хватить. Осталось выполнить команду boot. В некоторых случаях перед выполнением «boot» попробуйте дополнительно выполнить команду initrd, как описано выше в примере.

Запуск Windows из командной строки GRUB

Процесс запуска Windows из консоли GRUB ещё проще. Как и в случае с Linux в начале указываем корневой раздел, где находится Windows. В моем случае окошки установлены в /dev/sda1. После чего, отдаем команду chainloader +1, которая заставляет grub2 передать дальшейшее управление загрузкой Windows-загрузчику. Даем команду boot на запуск системы и наблюдаем загрузку винды. Пример:

set root=(hd0,1)
chainloader +1
boot

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

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

Единственный работающий мануал на весь рунет.

Если не знаете на каком разделе установлен Линукс (вдруг), можно каждый раздел проверить командой типа ls(hd0,1)/ (со слешем в конце).

Привет, а как сделать так, чтобы каждый раз это не прописывать?

Для этого нужно прописать соотвествующие изменения в загрузчик GRUB. Обычно нужные строки добавляются автоматически при установке системы.

Что делать, если видит только разделы msdos, но я знаю что там есть Linux

Что делать, если видит только разделы msdos, но я знаю что там есть Linux

Если пишет например (hd0,msdos5) — то это тоже самое, что (hd0,5).

READ  Драйвера для монитора acer rt240y

У меня так пишет, хотя там Linux и ext4.

Что делать если на всех разделах не находит виндовс? пишет unknown filesystem

Источник

Grub 2 + VHD: установка и загрузка ОС Windows 7 Ultimate

Введение

Ни для кого уже не секрет, что начиная с версии Windows 7 Ultimate, операционные системы от Майкрософт умеют загружаться будучи установленными на образ жесткого диска формата VHD. Однако, данная возможность «из коробки» доступна только пользователям этой самой Windows 7 Ultimate.

У меня же, убежденного пользователя Arch Linux, потребность в применении этой технологии возникла из-за необходимости иметь винду под рукой в дуалбуте и именно в реальном окружении. 90% процентов задач, для которых нужен Windows, разумеется решаются путем виртуализации, и мощности современного железа, и возможности виртуальных машин, позволяют даже в игры играть в виртуальной среде. Однако, возникла необходимость в использовании пакета «Универсальный механизм», который под вайном работает криво (допускаю и что руки у меня кривые), а в виртуальной среде, понятное дело, безбожно теряет прыть. В общем понадобилась Windows, но таскать разделы на винте и менять его разметку страшно не хотелось ради установки одной программы под винду.

Решение нашлось в реализации загрузки из VHD-образа с использованием загрузчика Grub2, ставшего стандартом де-факто во многих популярных дистрибутивах Linux. Об этом собственно и пойдет речь.

Какие преимущества перед стандартной установкой Windows в дуалбут с линуксом дает такая методика:

  • Весь процесс установки и настройки выполняется в среде OS Linux, с использованием менеджера виртуальных машин VirtualBox
  • Раздел, где хранятся образы может быть любого типа: первичный или логический. Он не обязательно должен быть активным
  • Количество устанавливаемых систем ограничено лишь размерами NTFS раздела. Все системы изолированы друг от друга
  • Не происходит перезапись MBR, линукс-загрузчик остается нетронутым
  • При замене HDD можно просто скопировать Linux (содержимое всех разделов, подробнее об этом здесь) на новый винт, рекурсивно с сохранением атрибутов, установить Grub 2 на новый винт и вуаля — Ваши Windows- системы перенесутся как ни вчем не бывало. Это удобно

Итак, перейдем к описанию метода.

1. Подготовка почвы

Для хранения образов нам таки потребуется NTFS-раздел, который может быть как первичным, так и логическим, и не обязательно активным. Его можно создать с помощью gparted, там же и отформатировав в NTFS. У меня на НDD была зарезервирована неразмеченная область для разного рода экспериментов с осями, её я и отдал под данный раздел

Далее делаем этот раздел доступным для виртуальных машин VirtualBox

то есть создаем виртуальный диск в виде файла-ссылки на раздел реального HDD. Этот диск подключаем к виртуальной машине с Windows 7 Ultimate — она пригодится нам для решения поставленной задачи

2. Создаем VHD-образ с системой

Теперь надо создать VHD-образ HDD. Его придется создавать средствами, предоставляемыми Windows 7 Ultimate, ибо диски, создаваемые тем же VirtualBox вызывают последующий вывал загружаемой винды в BSOD.

Загружаем вирутальную машину с виндой. Идем в панель Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером -> Управление дисками. С правой стороны окна имеется меню, где мы выбираем создание виртуального диска

READ  Как вызвать экранную клавиатуру windows 10 комбинация клавиш

после чего указываем путь к нему и задаем его параметры

Лучше всё же выбрать фиксированный размер образа — это будет работать быстрее.

Щелкаем ОК и пока идет процесс, выполним

3. Настройка загрузчика bootmgr

Сам загрузчик bootmgr и каталог с его конфигом boot банально копируем с установочного DVD Windows 7 в корень раздела NTFS, туда же, где размещается папка с VHD-дисками.

Удаляем файл \boot\bcd, ибо этот контейнер хранит конфигурацию с загрузочного DVD, и создаем новый контейнер. Для этого используем крохотную утилитку bootice. Запускаем её, выбираем вкладку “BCD edit”.

Далее жмем “Create new BCD”, выбираем путь по которому будет расположен файл конфигурации и создаем его с именем BCD. Далее выбираем этот файл и жмем “Easy mode” – запуск редактора в упрощенном режиме.

Файл конфигурации откроется в режиме редактирования, нажимаем кнопку “Add” и выбираем вариант “New VHD boot entry”. Редактор сосздаст шаблон загрузочной записи и нам остается лишь вписать путь к нашему образу.

Путь к VHD-файлу от корня раздела с образами прописываем в поле “File”. После этого жмем “Save current system” и выходим из программы.

Дожидаемся пока закончится процесс создания VHD-образа и покидаем виртуальную семерку.

4. Установка Windows 7 Ultimate на VHD-образ

Выполнена средствами VirtualBox. Для этого:

  • Смонтирован NTFS-раздел с образом в хост-системе Linux
  • Создана виртуальная машина, причем в качестве образа диска выбран созданный нами образ
  • Установлена винда, стандартно, без ухищрений

Однако, надо сказать вот о чем. Мы помним, что наша система инсталирована в ВМ, а поэтому некоторые устройства определены на этапе установки и система подсунула для них соотвествующие драйвера. При запуске на Вашем реальном компьютере с вероятностью в 99% получится BSOD. Это связано с тем, что VirtualBox эмулирует контролер IDE следующим образом

и этот драйвер, работая в загружаемой системе конфликтует с реально установленным на мат. плате контроллером, при попытке системы прочесть файл образа с диска. Решается просто – выбираем “Обновить драйвер”, говорим, что не надо искать а мы сами укажем нужный драйвер и выберем “Стандартный двухканальный контролер IDE”

После этого выключаем нашу виртуальную машину и делаем её «реальной»

5. Настройка загрузчика Grub2

В конфиг Grub2 необходимо добавить загрузочную запись такого вида

где (hd0,msdos4) — NTFS-раздел, где размещены VHD-образы.

После этого можно перезагружаться и пробовать…

Заключение

После загрузки устанавливаем драйвера на наше реальное железо и радуемся жизни:

Изображенное на скринах – это полноценная ОС, работающая на реальном железе. Но она – всего лишь файл на Вашем жестком диске. Этот файл может быть скопирован, удален, перемещен, архивирован и прочее. К тому же, такой метод решает извечную проблему конфликта Windows vs Linux на одном HDD. Теперь они мирно уживаются друг с другом и не портят друг другу жизнь.

Источник