- Правилното идентифициране на дялове и дискове ви позволява да преинсталирате GRUB от LiveUSB, без да преинсталирате системата.
- Инструменти като Boot-Repair, Syslinux или LILO предлагат алтернативни начини за възстановяване на MBR и boot manager.
- BCDBoot и bootrec ви позволяват да поправите Windows Boot Manager и BCD хранилището в среди с множество Windows.
- Комбинирането на помощни програми за Linux и Windows улеснява безопасното възстановяване на повредени системи с двойно зареждане.
При конфигуриране на компютър с двойно зареждане между Windows и Linux дистрибуция (Ubuntu, Arch, Debian и др.), мениджърът за зареждане се превръща в ключов компонент. Той решава коя система да се стартира и как. Проблемът е, че обикновена актуализация на Windows, промяна в дяловете или преинсталиране могат да причинят това. GRUB или Windows Boot Manager са повредени и отборът спира да започва както трябва.
В тези ситуации е често срещано да се наблюдават симптоми като екрани за грешки при зареждане, поява на спасителен режим на GRUBИскате само Windows да се стартира, игнорирайки Linux, или обратното, Windows да изчезне от менюто. Добрата новина е, че с правилните инструменти това е възможно. Поправете зареждащия механизъм (GRUB или Windows Boot Manager) в почти всеки сценарий, както в системи с двойно зареждане на Windows/Linux, така и в конфигурации с множество версии на Windows.
Какво обикновено прекъсва работата на GRUB или Windows Boot Manager в система с двойно зареждане
Преди да се опитате да извършите каквито и да е ремонти, е добре да разберете защо стартерът не работи правилно. Това ще ви даде по-ясна картина. кой инструмент да се използва във всеки отделен случай и ще избегнете повтарянето на един и същ проблем отново и отново.
Една от най-честите причини е, че Windows презаписва MBR или EFI дял Когато се инсталира след Linux или след основен ъпгрейд, Windows приема, че е единствената операционна система на компютъра и презаписва boot сектора, така че GRUB изчезва и се стартира само Windows..
Друг много типичен сценарий е, когато дяловете са преоразмерени или преместени с инструменти за разделяне. Ако докоснете дяла, където е инсталиран GRUB, или промените таблицата на дяловете, е лесно мениджърът на зареждане да не работи правилно. губят препратка към корена на Linux системата или към самото ядро и в крайна сметка показва съобщения като „Грешка при зареждане на системата“ или не показва менюто за избор на операционна система.
Мениджърът може да се корумпира и след актуализация на систематаВъпреки че не е най-често срещаното явление, възможно е актуализация на ядрото, нов GRUB пакет или промени в UEFI фърмуер оставете менюто за зареждане неконфигурирано и директно ще се появи конзола за спасяване (известният подканващ прозорец на спасяване на груби>).
На компютри, където едновременно съществуват няколко версии на Windows (например Windows 10 и Windows 11 (на отделни дискове или в различни дялове), понякога проблемът не е в GRUB, а в самата система Магазин за BCD на Windowsкоето може да бъде неправилно конфигурирано и да доведе до това една от системите да не се показва в менюто за зареждане на Windows Boot Manager.
Стартиране от Linux Live носител за поправка на GRUB
Когато мениджърът за зареждане се повреди и системата не се зарежда нормално, най-гъвкавият начин на действие е да се използва LiveCD или LiveUSB от Linux дистрибуция (Ubuntu обикновено е най-удобният вариант) да „влезете“ в инсталираната система и да преинсталирате GRUB оттам.
Първата стъпка е да създадете стартиращ носител. Трябва да изтеглите ISO образ на дистрибуция с GRUB2 (Ubuntu, Debian, Linux Mint и др.), който съответства на архитектурата на повредената ви система: amd64, ако вашата система е 64-битова или i386, ако е 32-битоваТова съвпадение е важно, защото ще бъде използвано по-късно. chroot И ако архитектурите не са еднакви, могат да възникнат грешки при изпълнение на GRUB двоичните файлове.
След като имате ISO файла, го записвате на Стартиращ USBМожете да използвате инструменти като Rufus, balenaEtcher или други, с които се чувствате удобно. Поставете USB устройството в компютъра с повредения буутлоудър и от BIOS или UEFI, Избирате да стартирате от USB устройството.
Първата стъпка е да създадете стартиращ носител. Трябва да изтеглите ISO образ на дистрибуция с GRUB2 (Ubuntu, Debian, Linux Mint и др.), който съответства на архитектурата на повредената ви система: amd64, ако вашата система е 64-битова или i386, ако е 32-битоваТова съвпадение е важно, защото ще бъде използвано по-късно. chroot И ако архитектурите не са еднакви, могат да възникнат грешки при изпълнение на GRUB двоичните файлове.
Когато стартирате от USB, менюто за дистрибуция ще ви предложи нещо подобно „Опитайте Ubuntu“ (или „Опитайте…“ на английски). Тази опция зарежда цялата система в паметта, без да докосва твърдия диск, и оттам ще можете да Отворете терминал и изпълнете необходимите команди, за да възстановите GRUB..
На работния плот на Live просто отворете менюто с приложения и потърсете "Терминал"Оттук нататък целият процес се извършва от командния ред, но ако следвате внимателно стъпките, не е твърде сложно.
Идентифицирайте главния дял, дяла /boot и диска
За да преинсталирате boot manager-а, първото нещо, което трябва да знаете, е На кои дялове е инсталиран вашият Linux? и какво е името на диска, където се намира MBR или EFI дялът (например, / Dev / SDA).
От терминала на системата Live можете да използвате командата fdisk -l с администраторски права: Sudo Fdisk-лТази команда ще изброи всички свързани устройства и дялове, показвайки типа, размера и етикета на файловата система, ако има такъв.
Сред целия изход трябва да намерите кой дял го съдържа. кореновата система на вашия LinuxОбикновено ще видите нещо подобно. / Dev / sda2 или подобен, с разумен размер и тип файлова система Linux (ext4 или еквивалент). Ако преди това сте създали такъв отделен дял /bootЩе трябва също да го идентифицирате; обикновено това е малък дял, където се съхраняват файлове като grub, vmlinuz, initrd, System.mapИ др
Ако имате съмнения, има една проста стратегия ръчно монтиране на подозрителни дялове и разгледайте съдържанието му. Например, можете да използвате sudo монтиране /dev/sda2 /mnt и след това избройте съдържанието с ls /mntАко видите директории като bin, boot, root и др.Ще видите главния дял. Ако монтирате друг дял и намерите папка вътре, ще го видите. ровя Заедно с други файлове за зареждане, ще видите и дяла / обувка.
В горната част на изхода Fdisk Появява се и името на основния албум, например „Диск /dev/sdaТози идентификатор е ключов, защото ще бъде крайната дестинация при преинсталиране на GRUB в MBR или защото може да сочи към дяла, който действа като EFI в UEFI система.
Монтиране на дяловете и използване на chroot за преинсталиране на GRUB
След като сте определили дяловете, които ви интересуват, трябва монтирайте ги в системата Live за да можете да "влезете" в инсталацията си, сякаш сте стартирали от нея, а не от USB устройството.
Започвате със сглобяването на root дял в /mnt с команда, подобна на: sudo монтиране /dev/sda2 /mnt (настройване на /dev/sda2 към дяла, който съответства във вашия случай). Ако имате дял / обувка Независимо, вие го монтирате в дървото на този корен, например с sudo mount /dev/sda7 /mnt/boot.
След това трябва да монтирате някои специални директории, използвайки опцията – обвързване Това позволява на chroot средата да вижда устройството, процесите и файловата система на компютъра. Обикновено се прави с команди като: sudo mount –bind /dev /mnt/dev, sudo mount –bind /dev/pts /mnt/dev/pts, sudo mount –bind /proc /mnt/proc y sudo mount –bind /sys /mnt/sys.
След като сте настроили всичко това, вече можете да използвате chroot За да промените корена на файловата система на тази на инсталираната ви Linux система, типичната команда е sudo chroot /mntОт този момент нататък всички команди, които изпълнявате, ще влияят вашата действителна система, инсталирана на дискане към Live средата, която работи от USB устройството.
Следващата стъпка е да преинсталирайте GRUB на правилния диск. В BIOS/MBR системите е обичайно да се използва команда като grub-install –boot-directory=/boot/ –recheck /dev/sda (замествайки /dev/sda с диска, където се намира MBR). Тази команда изхвърля GRUB loader-а в boot сектора на диска и гарантира, че конфигурацията сочи към правилните файлове.
След като мениджърът бъде преинсталиран, препоръчително е Регенериране на GRUB конфигурацията така че да открие всички налични операционни системи. Това се прави с grub-mkconfig -o /boot/grub/grub.cfgGRUB ще сканира дяловете за Linux ядра, инсталации на Windows и други системи и ще генерира менюто за зареждане.
Когато приключите, всичко, което трябва да направите, е излезте от chroot с командата изход и рестартирайте компютъра с sudo рестартиранеСлед премахване на стартиращото USB устройство, системата трябва да се покаже отново. напълно функционално GRUB менюкоето ви позволява да стартирате както Linux, така и Windows.
Използвайте Boot-Repair за автоматично възстановяване на GRUB
За тези, които не искат да се затрудняват с толкова много ръчни команди, има един много практичен инструмент, наречен Ремонт на зареждане, специално проектиран за Отстраняване на често срещани проблеми с зареждането в Ubuntu и производни.
Boot-Repair е помощна програма, която може да бъде инсталирана в Ubuntu среда (самата операционна система или Live среда). Основната ѝ функция е автоматично преинсталиране на GRUB и възстановете достъпа до всички инсталирани системи: независимо дали защото Windows е презаписал MBR, защото актуализация е спряла да показва менюто GRUB или защото сте се забъркали с дяловете и конфигурацията е била повредена.
В допълнение към стандартния ремонт, инструментът предлага разширени опции за архивиране на таблици с дялове, архивиране на сектори за зареждане, генериране на подробни отчети (Boot-Info) и настройване на параметрите за поправка, ако се нуждаете от по-фин контрол.
За да го използвате в среда на Ubuntu Live, първо трябва Добавете PPA хранилището за Boot-Repair с команда като: sudo add-apt-repository ppa: yannubuntu / boot-repairСлед това пакетите се актуализират с sudo apt актуализация и накрая приложението се инсталира с sudo apt инсталиране на boot-repairАко системата ви подкани, потвърдете изтеглянето и инсталирането.
След като помощната програма е инсталирана, тя може да бъде стартирана от търсачката на приложения на Ubuntu, като въведете „Ремонт на обувки“При стартиране самият инструмент обикновено показва опция за „Препоръчителен ремонт“което е най-удобно за повечето потребители, тъй като се грижи за Преинсталирайте GRUB, актуализирайте конфигурацията му и поправете повечето типични грешки, без да е необходимо да конфигурирате каквото и да било ръчно..
В разширените опции има квадратче за отметка за „Възстановяване на MBR“Тази опция ви позволява да замените текущия жест за зареждане на диска с общ или специфичен MBR, което може да бъде полезно в определени сценарии. След като изберете подходящата опция и щракнете върху "Приложи"Boot-Repair стартира процеса на поправка и показва напредъка му до завършване. След като приключи, обикновено показва направените промени и след рестартиране... Двойното зареждане би трябвало да работи отново..
Други инструменти от ниско ниво: Syslinux, MBR и LILO
В някои напреднали случаи, особено при работа с специфични конфигурации, по-стар хардуер или специфични файлови системиМоже да е полезно да използвате инструменти като Syslinux или LILO, за да манипулирате MBR и процеса на зареждане по-директно.
syslinux Това е комплект леки зарядни устройства за стартери, които обслужват различни сценарии: класическите SYSLINUX за файлови системи MS-DOS FAT, PXELINUX за мрежово зареждане, ISOLINUX за стартиращи компактдискове и EXTLINUX за файлови системи ext2/3/4 или btrfs. Включва също МЕМДИСК, което позволява зареждане на по-стари операционни системи като DOS от нетрадиционни носители.
В дистрибуция като Ubuntu, може да се инсталира с sudo apt инсталира syslinuxСлед като бъде инсталиран, е възможно възстановяване на MBR записване на съответния код в началото на диска, например с sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdaКато алтернатива могат да се използват други пакети и инструменти, като например sudo apt-get инсталиране на mbr последвано от sudo install-mbr -in -p D -t 0 /dev/sdaкоито също възстановяват функционална MBR.
Друг класически вариант е LILO (Linux Loader)Въпреки че GRUB2 е bootloader-ът по подразбиране в повечето дистрибуции днес, LILO все още е... просто и надеждно решение за определени видове хардуер или специфични конфигурации където GRUB е по-проблематичен. В Ubuntu, например, може да се инсталира с sudo apt-get инсталира liloПо време на инсталацията на екрана ще се появи съобщение, което трябва да приемете, за да продължите.
След инсталирането на LILO, той може да се използва за запишете нов MBR с команда от типа sudo lilo -M /dev/sda mbrТова замества MBR кода с LILO код, което може да помогне за възстановяване на работещо зареждане на компютри, където мениджърът за зареждане е повреден или несъвместим с хардуера.
Поправяне на GRUB, когато се появи режим на спасяване в Arch Linux
В дистрибуции като Arch Linux Сравнително често се среща режимът спасяване След като Windows актуализира системата ви, промени конфигурацията за зареждане или модифицира дяловете, компютърът се стартира, но вместо менюто GRUB се появява минималистичен прозорец, където могат да се изпълнят само няколко команди.
От този начин можеш да опиташ ръчно стартиране на Arch Linux посочвайки на мениджъра къде се намират ядрото и неговата конфигурация. Типичен пример включва задаване на коренния каталог и префикса на GRUB с нещо подобно задаване на root=(hd0,gpt8) y задайте префикс=(hd0,gpt8)/boot/grub, заредете нормалния модул с нормален insmod и накрая, изпълнете умствени така че да сочи към обичайното меню.
Това ви позволява временно да излезете от затруднено положение, но не решава основния проблем. Правилният начин е, след като Arch се стартира, да стартирате grub-инсталиране сочейки към правилния диск (например, sudo grub-install /dev/sda) и след това grub-mkconfigПонякога обаче тази команда се проваля със съобщения като „не може да се идентифицира файлова система в hostdisk“ или че не може да извършва проверки за сигурност на диска.
Когато това се случи, най-мъдрото нещо, което можете да направите, е стартиране от съвместим Live носител (като например самия инсталатор на Arch или Live версия от друга дистрибуция), монтирайте дяловете и използвайте chroot, както е описано по-рано. По този начин можете да се уверите, че Устройствата са налични правилно, таблицата на дяловете е разпозната правилно и GRUB може да бъде преинсталиран без проблеми.Важно е да се уверите, че инсталирате GRUB в цялото дисково устройство (например /dev/sda), а не на конкретен дял (/dev/sda6), освен ако нямате много конкретна причина да го направите.
Възстановяване на Windows Boot Manager и BCD на системи с двойно зареждане
В условия, където те съжителстват две версии на Windows (например, Windows 10 и Windows 11) или когато само зареждането на Windows е повредено при двойно зареждане с Linux, може да е необходимо Поправете мениджъра за зареждане на Windows и неговото BCD хранилище.
Windows включва помощна програма, наречена BCDBoot което служи за Създаване или поправяне на записи за зареждане за система, базирана на WindowsТова е много полезно, когато сте инсталирали втори Windows на друг дял или диск и при зареждане той не се показва в менюто; или когато менюто за зареждане е изтрито и то влиза само в една система.
Общата процедура се състои от стартиране на компютъра с инсталационен носител на Windows (или устройство за възстановяване) и достъп до опциите за поправка. На екрана за инсталиране, вместо да продължите с обичайния процес, щракнете върху „Ремонт на оборудването“Оттам влизате „Решаване на проблеми“ и след това в „Разширени опции“където можете да изберете "Символ на системата" или директно „Ремонт при стартиране“според нуждите.
Ако изберете автоматичен ремонт, опцията „Ремонт при стартиране“ Автоматично ще се опита да коригира грешки в мениджъра за зареждане и в конфигурацията на BCDТова е бърз начин за възстановяване на Windows Boot Manager в много случаи, без да се налага ръчно въвеждане на команди.
Ако нещата изискват повече контрол, можете да използвате конзолата Прекомпилирайте BCD хранилищетоТипична процедура е, първо, да се направи копие на текущото хранилище с нещо подобно ren BCD BCD.old (след като сте отишли в правилната папка) и след това изпълнете bcdboot D:\Windows (като замените D:\Windows с действителния път до инсталацията на Windows, която искате да добавите). Ако не знаете коя буква съответства на всеки дял, можете да използвате Diskpart и след това списък обем за да видите зададените букви.
Възможно е също така да се укаже езикът и обемът за зареждане, като се използва по-пълен синтаксис, като например bcdboot c:\Windows /l en-us /s X: /f ALL, заместващ X: с буквата на boot дяла (или на флаш устройство, където искате да създадете bootloader-а). Това презаписва BCD с чисти записи за избраната версия на Windows, така че при рестартиране И двете системи трябва да се появят в менюто. ако останалата част от конфигурацията е правилна.
Поправете MBR на Windows с bootrec
В ситуации, когато проблемът се крие директно в MBR (главен зареждащ запис) От диск, който е бил използван като устройство за зареждане в Windows, можете също да използвате инструмента bootrec, налично в среди за възстановяване на Windows.
Процесът обикновено започва от Инсталационен носител на WindowsНа много компютри Dell, например, можете да натиснете Клавиш F12 на началния екран за да отворите менюто за зареждане и да изберете инсталационното USB или DVD устройство. След като влезете, както преди, натиснете „Ремонт на оборудването“, човек влиза „Решаване на проблеми“след това в „Разширени опции“ и накрая е избран "Символ на системата".
От конзолата можете да изпълните поредица от команди за стартиране За да поправите MBR и BCD паметта, първо: bootrec / Fixmbr, който записва чист, съвместим с Windows MBR на диска; след това bootrec / FIXBOOTкоето създава нов сектор за зареждане в системния дял; и накрая bootrec / RebuildBcd, който анализира съществуващите инсталации на Windows и предлага да ги добави към хранилището за зареждане.
След като тези команди работят без грешки, компютърът се рестартира чрез премахване на инсталационния носител, за да се провери дали Windows се стартира правилно и, ако е приложимо, дали двойното зареждане с Linux е все още достъпно чрез GRUB или Boot Managerв зависимост от това как е конфигурирана системата.
Познаването на всички тези инструменти и процедури (LiveUSB на Linux, преинсталиране на chroot и GRUB, използване на Boot-Repair, Syslinux, LILO, BCDBoot и bootrec) значително улеснява процеса. диагностицирайте кой компонент за зареждане е повреден в система с двойно зареждане и приложете подходящото решение Във всеки случай, избягвайки пълно преинсталиране на системата и възстановявайки стабилно двойно зареждане между Windows и любимата ви Linux дистрибуция само в няколко стъпки.