This simple tutorial shows you how to repair your Windows 7 boot loader (MBR) from Ubuntu dual boot or Ubuntu Live CD / USB. This can be useful if you don’t have a Windows CD or DVD on hand.
To do so, first boot into your Ubuntu system. When you’re in Ubuntu, press Ctrl+Alt+T on your keyboard to open terminal and follow below steps:
1.) First run below command to check your disk:
sudo fdisk -l
The output tells you the disk information:
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x016c8108Device Boot Start End Blocks Id System
/dev/sda1 * 63 39054014 19526976 7 HPFS/NTFS/exFAT
2.) Now run commnad to install syslinux, which is a suite of lightweight IBM PC MBR bootloaders for starting up computers with the Linux kernel.
sudo apt-get update; sudo apt-get install syslinux
3.) Once installed, you can fix your Windows bootloader by running below command in terminal:
sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda
Replace the startup disk name /dev/sda
in the above command according to the output in step 1.
Enjoy!
На ваших персональных компьютерах была установлена операционная система Виндовс «Семерка»? И вы вдруг решились поверх нее установить Линукс Ubuntu и что-то проделали неправильно или вышло что-то не так? И все, больше у вас ничего не грузится? А, быть может, даже в списках выборов операционной системы если и есть Виндовс, она не будет грузиться все равно? Диагноз прост — загрузочный сектор Виндовс был переписан!
Страшного ничего нет — все это лечится очень легко . Такая операция будет называться: «Процесс восстановления загрузчика» Мы с вами сейчас все исправим. Если в данный момент у вас запущена Ubuntu и вы видите эту статью в данной операционной системе, то, на мой взгляд, нам будет нужно подстраховаться и произвести сохранение загрузочного сектора на раздел, куда в данный момент уже установлена Виндовс. Для этого включаем терминал и в нем уже прописываем:
dd if=/dev/sda4 of=/linux.boot bs=256 count=1
С помощью этой команды мы копируем загрузочную запись с раздела загрузки sda4 в файл с названием linux.boot. Как правило, в Ubuntu загрузочный раздел — это корневой раздел «/». Если что-то не так, то нужно будет сначала оточнить какой из разделов вашего персонального компьютера является загрузочным. Запись загрузочного типа была скопирована в папку пользователя под учетной записью которого вы в данный момент работаете. Поэтому открываем папку пользователя и производим копирование этого файлика на раздел, где поставлен Виндовс.
Далее нам нужен будет загрузочный диск с операционной системой Windows «Семерка» (если,конечно, у вас проблемы именно с семеркой). Вставляем этот диск и производим перезагрузку персонального компьютера, затем производим загрузку с этого диска, ожидаем, когда появится окошечко, в котором есть кнопка «Установка Виндовс» и находим в левом нижнем уголку опцию «Процесс восстановления системы». Вот именно это нам и нужно, нажимаем на эту кнопку, система будет искать все варианты Windows на этом персональном компьютере, которые он имеет возможность востановить и мы, естественно, выбираем ту, которую нам нужно восстановить.
После всех операций должно появиться окошечко «Параметры восстановления систем», и там выбираем «Запуск Командной строки»! Вы что, думали что о запуск командной строки есть только в Линукс? А оказывается и здесь есть!))
В этой командной строке прописываем:
Bootrec. exe /FixMbr
а затем
Bootrec.exe / FixBoot
Затем можно просто перезагрузиться и все, у нашей Виндовс «Семерка» загрузчик востановлен. Но хотим мы, чтобы Ubuntu Линукс грузился тоже нормально, правда? Ведь зачем же мы его тогда устанавливали? Поэтому мы переписываем вот такое интересное программное приложение под названием EasyBCD. Чтоба найти программку в интернете необходимо подключиться к сети Интернет и в поисковой системе Гугл ввести словосочетание: «EasyBCD» Система покажет вам ссылки на сайты с этой прогрммой. Там же есть и инструкция по пользованию. Устанавливаем программу и делаем все, что показано в инструкции.
И вот после этого у вас есть возможность загружать еще и Линукс.
А теперь, спросите вы, зачем мы сохранили загрузочный сектор в файл? А, вдруг у вас не будет возможности скачивания программного приложения, которое было написано выше, или, что еще хуже, оно просто не сможет заработать. Вот именно тогда-то вам и поможет этот файл.
Теперь мы можем запуститьконсоль, только в данный момент уже в Виндовс (да, да именно в Виндовс, ведь в данный момент только она у нас и работает). Но загружаем данную операционную систему не просто так, а под учетной записью с правом администратора (быть может, у вас на администраторской учетной записи поставлен пароль и вы тогда просто не сможете загрузиться от администратора, по этой причине следует сначала создать новую учетную запись с правом администратора и паролем), чтобы это сделать мы нажимаем на значок «Пуск», затем «Все программы», затем «Стандартные» и нажимаем на значок консоли, но не левой кнопкой мыши а правой кнопкой. В открывшимся окне выбираем «Запуск от администратора». И в консоли прописываем вот такие заветные надписи:
bcdedit /-create /d “Linux” /application BOOTSECTOR
После такой команды мы можем видеть ID диска в таком вот виде: {ID}, затем копируем его, а выглядеть он будеткак то так:
{с3456a4v-9852-fg78-94re-d8d2d3lh5a23}
После этого мы можем вводить дальше команды, но уже, используя скопированный ID:
bcdedit /set {с34543a4v-9652-fg78-94rd-d8d2d3lh5a23} device partition=d:
partition=d: здесь будет указывать на раздел, где находится Windows. Вот теперь мы как раз можем задействовать наш ранее сохраненый файлик и опять же наш ID:
bcdedit /set {с3455a4v-9652-fg78-95re-d8d2d3lh5a22} path linux.boot
bcdedit /displayorder {с3444a4v-9653-fg79-94re-d8d2d3lh5a23} /-addlast
bcdedit /timeout 12
/timeout 12 – будет означать время, в течение которого меню будет ожидать нашего выбора из представленных в меню операционных систем.
Есть один диск, три основных раздела — Windows (Disk C, Dick D), Linux Ubuntu.
Решил перейти на Linux Manjaro, загрузился в Windows, запустил mini wizard partition tool, начал удалить Ubuntu, чтобы туда установить Manjaro и случайно удалил загрузчик Windows.
Чтобы было понятно, пишу структуру загрузки в биос (названия примерные, но суть надеюсь ясна):
Было:
- Hard disk
- Ubuntu (grub)
- Windows 10 manager
Стало:
- Hard disk
При загрузке с Hard Disk мигает черточка в углу.
Вопросы!
- Возможно ли восстановить загрузчик Windows 10 из под live режима Monjaro, я знаю, что можно восстановить с помощью установщика Windows, но флешки с ним у меня нет сейчас.
- Если из под Linux нет такой возможности, то как лучше восстановить из установщика Windows? (выбрать восстановление загрузки в установщике, прописывать команды в консоли или пользоваться утилитами для этого?)
Как вернуть меню выбора ОС после установки Windows рядом с Linux? Рассказываем о двух способах восстановления загрузчика GRUB — для новичков (с утилитой boot-repair) и для продвинутых пользователей (с помощью chroot).
Поставили Windows рядом с Ubuntu, и теперь можете запустить только ОС от Майкрософт? Рассказываем, как восстановить загрузчик GRUB после установки Windows 10 или 11 — вам хватит 20 минут, даже если вы новичок в администрировании VPS.
Аренда VPS/VDS виртуального сервера от AdminVPS — это прозрачная и честная услуга с доступной ценой
Представьте: вы установили Ubuntu, настроили систему, а потом решили поставить Windows рядом. Но после перезагрузки вместо привычного меню GRUB (grand unified bootloader) вы увидите только загрузчик Windows. Это происходит потому, что Windows не дружит с альтернативными загрузчиками: при установке она перезаписывает главную загрузочную запись (MBR) или заменяет файлы в разделе EFI. И если GRUB, стандартный загрузчик для Linux, может работать с несколькими ОС, то загрузчики NTLDR (Windows 11) и Bootmgr (Windows 10) не умеют. Когда вы ставите Windows после Ubuntu, они просто «не видят» ОС, установленную первой.
Что нужно знать перед восстановлением GRUB
Прежде всего разберёмся с базовыми понятиями — это поможет избежать ошибок и сэкономит время.
UEFI или BIOS
Современные компьютеры используют два типа firmware (микропрограммы для управления железом):
- BIOS — это устаревший стандарт, загрузчик записывается в первый сектор диска (mbr);
- UEFI — современная замена BIOS, работает с разделом EFI (fat32), где хранятся файлы загрузчиков в формате .efi.
Чтобы проверить, какой режим на вашем компьютере, зайдите в bios/uefi (нажмите клавишу del, f2 или f12 при запуске). Если в настройках есть пункты Secure Boot, UEFI Mode — значит, у вас используется UEFI.
Или выполните в Linux:
ls /sys/firmware/efi
Если директория существует — система загрузилась через UEFI.
Live USB с Linux
Чтобы восстановить GRUB, понадобится загрузочная флешка с любым дистрибутивом (Ubuntu, Fedora, Mint).
Как создать Live USB:
- Скачайте iso-образ с официального сайта ОС.
- Создайте Live USB с помощью специальных программ:
- Rufus (на Windows) — выберите «GPT для UEFI» или «MBR для BIOS» в зависимости от прошивки вашего компьютера;
- BalenaEtcher (на Linux/Mac).
- Проверьте целостность образа после записи (в некоторых программах есть опция «verify»).
Как восстановить GRUB из-под Windows: два способа
Восстановление через boot-repair (для новичков)
Если вы не хотите работать в терминале, воспользуйтесь утилитой boot-repair. Она автоматизирует 90 % работы.
Шаг 1. Загрузка с Live USB
- Вставьте флешку, перезагрузите компьютер.
- Нажмите клавишу выбора загрузочного устройства (обычно f12, ESC или f8).
- Выберите флешку в меню.
Если у вас UEFI, загружайтесь в режиме UEFI, а не в Legacy! Иначе раздел EFI не будет обнаружен.
Шаг 2. Установка boot-repair
- Откройте терминал в Live-системе.
- Добавьте репозиторий и установите утилиту (далее все команды выполняются в режиме суперпользователя):
add-apt-repository universe # добавляйте репозиторий в Ubuntu до версии 22.04
apt update
apt install -y boot-repair
Шаг 3. Запуск и настройка
- Запустите boot-repair:
boot-repair
- Выберите «recommended repair».
- Следуйте инструкциям на экране: утилита сама определит установленные ОС, восстановит GRUB и обновит конфигурацию.
Если возникли ошибки:
- проверьте подключение к Интернету (boot-repair иногда скачивает дополнительные пакеты);
- убедитесь, что live-система загружена в правильном режиме (uefi/bios).
Ручное восстановление через chroot (для продвинутых пользователей)
Если первый метод не сработал или вы хотите понять процесс изнутри, восстановите GRUB вручную.
Шаг 1. Определение разделов
- Загрузитесь с Live USB.
- Откройте терминал и узнайте список дисков:
fdisk -l
или
lsblk -f
Команда lsblk -f показывает типы файловых систем и точки монтирования.
- Пример вывода lsblk:
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ntfs Windows ABCD-1234
├─sda2 ext4 Ubuntu 5678-90AB
└─ sda3 vfat ESP CDEF-1234
Обратите внимание на:
- корневой раздел Linux (ext4, btrfs и т. д.) — нам нужен именно он;
- раздел EFI (vfat) — если система на UEFI;
- раздел подкачки (swap) — не нужен для восстановления.
Шаг 2. Монтирование разделов
- Создайте точку монтирования:
mkdir /mnt/Linux
- Примонтируйте корневой каталог с Ubuntu:
mount /dev/sda2 /mnt/Linux
Для UEFI примонтируйте каталог EFI:
mount /dev/sda3 /mnt/Linux/boot/efi
Если у вас отдельный раздел /boot, монтируйте его:
mount /dev/sdaX /mnt/Linux/boot
Шаг 3. Вход в chroot
Chroot (change root) — это команда, которая изменит видимый корневой каталог, чтобы вы вошли в систему из live-окружения.
- Привяжите системные директории:
mount --bind /dev /mnt/Linux/dev
mount --bind /proc /mnt/Linux/proc
mount --bind /sys /mnt/Linux/sys
- Войдите в среду chroot:
chroot /mnt/Linux
Шаг 4. Установка GRUB
- Если прошивка BIOS (MBR):
grub-install /dev/sda # здесь sda — диск, а не раздел
update-grub
- Если прошивка UEFI (GPT), убедитесь, что пакет grub-efi установлен:
apt install grub-efi-amd64
Перед grub-install нужно обновить загрузочный список в efibootmgr, иначе в некоторых UEFI-системах GRUB не будет загружаться:
efibootmgr -c -d /dev/sda -p 1 -L "GRUB" -l "\EFI\GRUB\grubx64.efi"
Здесь -d /dev/sda — диск, -p 1 — номер EFI-раздела (уточните их с помощью lsblk).
Установите GRUB в раздел EFI:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
- Обновите конфигурацию:
update-grub
- После update-grub в выводе должны появиться строки «found Windows» или «found os probe entries».
Шаг 5. Выход и перезагрузка
- Выйдите из chroot:
sync # запись данных
exit
- Отмонтируйте разделы:
sudo umount -R /mnt/Linux
- Перезагрузите компьютер.
Возможные проблемы и их решение
Даже если вы всё сделали правильно, могут возникнуть проблемы.
GRUB не видит Windows
Причина: os-prober не активирован (утилита для автоматического обнаружения установленных ОС).
Решение. В /etc/default/grub раскомментируйте строку:
GRUB_DISABLE_OS_PROBER=false
Установите os-prober:
apt install os-prober
Обновите загрузчик (update-grub).
Ошибка «grub-install: error: cannot find efi directory»
Причина: неправильно указан путь к разделу EFI.
Решение. Проверьте, примонтирован ли раздел EFI в /boot/efi. Проверьте тип раздела: он должен быть vfat (FAT32).
Загрузчик установился, но система не загружается
Причина: неверный порядок загрузки в uefi/bios или повреждённые файлы GRUB. Также включённый Secure Boot может блокировать работу GRUB.
Решение. Зайдите в настройки UEFI/BIOS и выберите GRUB в качестве первого загрузочного устройства. Отключите Secure Boot в UEFI. Если это не помогло — переустановите GRUB через chroot.
Как избежать проблем в будущем
- Если планируете устанавливать две операционные системы, то сначала установите Windows, потом Linux.
- Создайте резервную копию EFI/MBR.
Для BIOS:
dd if=/dev/sda of=backup.mbr bs=512 count=1
Для UEFI — просто скопируйте содержимое раздела EFI в место для хранения.
- Создайте отдельный раздел EFI для Linux. Это минимизирует конфликты с Windows.
Заключение
Восстановить загрузчик GRUB после установки Windows — задача, которая кажется сложной только на первый взгляд. Даже если вы новичок, boot-repair справится за пару кликов. Для тех, кто хочет глубже разобраться в процессе, подойдёт ручной способ через chroot.
Наши технические специалисты помогут вам определиться с конфигурацией и настроят ваш VPN-сервер под ключ, если это будет необходимо.
Читайте в блоге:
- Как поменять TTL для раздачи Интернета: настройка Default TTL и изменение значения на 64 или 65
- Что такое директория в Linux
- Как сменить владельца папки и изменить права доступа в Linux
- Печать
Страницы: [1] Вниз
Тема: Как восстановить загрузчик windows 7 с помощью убунты (Прочитано 31762 раз)
0 Пользователей и 1 Гость просматривают эту тему.
Raptor26
В общем в наличии имеется два жестких диска, на одном стоит windows7 на другом ubuntu.
Загружал операционки путем выставления порядка загрузки жестких дисков в биосе. Решил поставить на жесткий диск с убунтой и windows xp.
В результате затерся загрузчик убунты и я мог запустить только windows7 и xp. Решил воспользоваться акрониксом……… кончилсось тем что ни одна из операционок не хотела запускаться. С помощью live cd восстановил загрузчик убунты. А нужна еще и windows 7 ( на xp плевать). Возник вопрос, как поставить загрузчик через ubuntu на жесткий диск с 7 виндой?
pharameer
По идее граб с live-cd убунты должен автоматом определить другие установленные операционные системы. И занести их всех в меню загрузки. Попробуй выполнить из убунты
grub-update
, когда винт с желаемой вендой тоже подключен.
« Последнее редактирование: 05 Февраля 2010, 17:45:39 от pharameer »
Net_Stranger
Никак.
1. Отключи привод с Ubuntu
2. Загрузись с установочного диска семерки
3. Дальше не знаю. в ХР надо было зайти в режим востановления. Далее fixboot, fixmbr
4. Грузишь семерку и убеждаешься, что все работает.
5. Подключаешь диск с Ubuntu.
6. Грузишься с него.
7. Куришь поиск по форуму по ключевому слову grub2
HP EliteBook 8570p
Linux Mint 19.3
Raptor26
пробовал, не получилось, Windows ругается.
По поводу grub-update ругается что команда не найдена
pharameer
Пардон, перепутал, команда — update-grub
Click
Raptor26
Может ругается потому что я под убунтой пишу, а не под live cd?
В общем запустился в live cd ввел grub-update Система написала что введика ты парень grub-install….ввел, что дальше не знаю, помогите
« Последнее редактирование: 05 Февраля 2010, 18:53:46 от Raptor26 »
StNff
sudo nano /boot/grub/grub.cfg
Добавте в код строки
title Windows
root (hd0,1)
chainloader +1
Номер раздела следует отредактировать под свою систему.
Raptor26
Если я правильно понял то должно получится что-то вроде этого
А как применить эти изменения?
PaulStogov
Если я правильно понял то должно получится что-то вроде этого
А как применить эти изменения?
Дык Ctrl+O же! Внизу всё написано.
Arch Linux i686 / 2.6.32 / Toshiba Satellite A200
Raptor26
Тфу ты, а я то думал что это за символ)
В общем проблема решилась так-же как и появилась…. через акроникс
« Последнее редактирование: 05 Февраля 2010, 21:21:13 от Raptor26 »
StNff
У вас, видимо, grub конфигурируется файлом menu.lst, а не grub.cfg
Raptor26
Хм, возможно, потому что ту информацию для загрузки, которую я ввел в консоли отображается в grub.cfg, а толку ноль. А возможно ли переключить конфигурируемый фаил для загрузчика grub?
Net_Stranger
А возможно ли переключить конфигурируемый фаил для загрузчика grub?
Видимо у тебя используется grub-legacy. Тот, который старый.
grub 2 он же grub-pc использует для настройки grub.cfg.
Устанавливается через synaptic
HP EliteBook 8570p
Linux Mint 19.3
Vitaminix
sudo nano /boot/grub/grub.cfg
Добавте в код строкиtitle Windows
root (hd0,1)
chainloader +1
Номер раздела следует отредактировать под свою систему.
В моём grub.cfg написано следующее:
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sdd1)" {
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
В Дисковой утилите загрузочный раздел Win7 так и называется: /dev/sdd1
но Win7 не грузится…
Это случилось после обновления ядра до 2.6.31-20
Какие правильные магические буквы написать в грубе если обе системы стоят на одним винте?
- Печать
Страницы: [1] Вверх