Възстановяване на Linux система, която не се стартира: инструкции стъпка по стъпка и ключови инструменти

  • Повечето грешки при зареждане в Linux се дължат на GRUB, повредени дялове или проблемни ядра, а не на самата система.
  • Логичният ред на проверките (хардуер, GRUB, файлови системи, пакети и ядра) предотвратява произволното преинсталиране.
  • Режимите за спасяване, Live дистрибуциите и инструменти като Boot-Repair ви позволяват да поправите почти всички сценарии, без да губите данни.
  • Разделянето на системата и данните, деактивирането на Fast Boot и редовното архивиране са ключови за предотвратяване на катастрофални последици от неуспешно зареждане.

Linux не се стартира

Когато Linux система откаже да се стартира, чувството на паника е неизбежно, особено ако имате дългогодишен опит с Windows и все още не сте съвсем сигурни какво да правите. Какви стъпки да следвате в GNU/Linux, за да запазите системата и данните сиДобрата новина е, че в повечето случаи Linux предлага повече пътища за бягство от Windows, преди да се наложи преформатиране.

Важно е да се разбере, че въпреки че Linux е много стабилна система, Не е безпроблемно при зареждане поради човешка грешка, дефектен хардуер или промени в мениджъра за зареждане GRUB.Ако се организирате добре и следвате логичен ред, много рядко ще се наложи да преинсталирате от нулата, губейки всичко.

Защо стабилна Linux система може да спре да се зарежда

Linux има репутацията си на изключително надежден, но има няколко причини за това. Една перфектно функционална дистрибуция може да премине от нормално зареждане до това да заседне на черен екран или в цикъл на грешки.Често коренът на проблема се крие в промените, които правим самите ние, макар и не винаги.

Сред най-честите причини, които нарушават стартирането, се открояват няколко често повтарящи се сценария, при които Проблемът е в мениджъра за зареждане, дисковите дялове или самото ядро ​​и неговите драйвери.Определянето към коя група попада вашият случай значително съкращава времето за ремонт.

В системи с двойно зареждане е доста често срещано това Windows може да презапише MBR или да повлияе на GRUB след преинсталация, основен ъпгрейд или поради бързо зареждане.оставяйки потребителя без възможността да избере Linux при стартиране.

Не бива да подценяваме и въздействието на Лошо приложени пачове, ядра, несъвместими с вашия хардуер, или собствени драйвери, които причиняват срив на системата когато ядрото се опитва да ги зареди по време на зареждане.

  • Проблеми със зареждащия или системния дял.
  • Повредено ядро ​​или неуспешна актуализация.
  • Пачове и пакети, които са само частично конфигурирани.
  • Проблемни драйвери и модули.
  • Двойно зареждане с Windows.
  • Неправилна конфигурация на GRUB или BIOS/UEFI.
  • Използване на виртуална машина.

Предимството на Linux е, че в повечето от тези ситуации можем Стартирайте в алтернативна среда: TTY, режим на възстановяване, режим на спасяване или Live дистрибуция и поправете системата оттам. Без форматиране. Преинсталирането от нулата, за разлика от Windows, обикновено е крайна мярка, а не първата.

Linux не стартира

Първи филтър: хардуерен проблем или софтуерен проблем?

Преди да се впуснете в прекалено много команди, е изключително важно да изключите възможността проблемът да не е чисто физически, защото Ако твърдият диск умира или RAM паметта е повредена, никаква магическа команда няма да възстанови стабилността.Най-добре е да го откриете възможно най-скоро и да запазите данните.

Първото нещо, което трябва да направите, е да влезете в BIOS/UEFI и да проверите дали Дънната платка все още разпознава вашия твърд диск или SSD, където се намира Linux.Ако дори не се показва в списъка с устройства за зареждане, вероятно имате хлабав кабел, повреден SATA порт или самият диск е отказал.

Ако дискът бъде открит, следващата стъпка е да проверите състоянието на паметта и диска с инструменти като MemTest86+ и smartmontoolsНай-добре е да направите това от реална среда, за да не разчитате на потенциално повредена система.

Определете точния момент, в който стартиращата компания зацикля

След като най-големите хардуерни проблеми бъдат изключени, е време да разберете На кой конкретен етап от стартирането се прекъсва веригата?Не е същото GRUB да не се показва изобщо като изправен пред паника на ядрото след избиране на записа.

Ако не виждате менюто GRUB, дори когато натиснете клавиша Shift по време на стартиране, това обикновено означава, че Мениджърът за зареждане е презаписан или е неправилно инсталиран в MBR/EFIобикновено се дължи на преинсталиране на Windows или на промяна на дялове.

Когато се появи GRUB, но избирането на Linux води до черен екран, цикъл на зареждане или съобщения за грешки в ядрото, проблемът обикновено е в конфигурацията на GRUB, инсталираните ядра или самата файлова система на коренния дял.

В дистрибуции като Ubuntu често ще виждате това по време на стартиране. анимация или лого, което скрива действителните съобщения на систематаАко искате да знаете какво наистина се случва, най-добре е да активирате „подробен“ режим.

За да направите това, след като можете да редактирате системата, отворете конфигурационния файл на GRUB в / И т.н. / по подразбиране / ровяНамерете линията:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

и го оставете празно, ето така:

GRUB_CMDLINE_LINUX_DEFAULT=""

След това бягайте актуализация-grub за да регенерирате конфигурацията. При следващото стартиране, вместо анимацията ще видите цялата последователност на зареждане и грешките, които блокират процеса, нещо ключово, за да се избегне влизането на сляпо.

GRUB Линукс

Използване на лог файлове и режим на спасяване за по-добра диагностика

Когато системата не се стартира от работния плот, но все още можете да стартирате в Live среда или да монтирате диска, системните лог файлове стават ваш най-добър приятел, защото Всички съобщения за зареждане се запазват в няколко лог файла.

В дистрибуция като Ubuntu, най-полезното нещо, което можете да направите, е да проверите файлове като /var/log/boot.log, /var/log/messages, изходът на dmesg и записи, достъпни чрез journalctlЗаедно те обикновено показват съвсем ясно в кой момент от процеса се е случило прекъсването.

Ако повредата възникне много рано и дори не можете да монтирате дяловете нормално, добър ресурс в дистрибуции като Red Hat, CentOS или производни е режим на спасяване от инсталационната среда, започвайки с параметъра спасяване в ядрото.

Когато стартирате в режим на спасяване, инсталаторът ви пита Къде се намира изображението, което ще се използва (локален CD, диск, NFS, HTTP, FTP)? И ако искате да конфигурирате мрежата, което е чудесно за създаване на резервни копия чрез SSH или монтиране на отдалечени ресурси.

Съветникът обикновено предлага да монтира откритата файлова система в /mnt/sysimage, или в режим четене-запис, или в режим само четенеАко подозирате сериозни повреди на файловата система, разумното решение е да я монтирате само за четене или просто да пропуснете автоматичното монтиране.

След като влезете вътре, можете да промените корена на спасителната среда към реалната система с:

chroot /mnt/sysimage

В такъв случай Всяка команда, която изпълнявате (rpm, grub, fsck и т.н.), ще действа така, сякаш стартирате нормално.Това значително опростява задачите за ремонт, без да е необходима графична работна среда.

GRUB не се показва или е повреден: как да го поправим правилно

Когато проблемът е, че дори не можете да стигнете до менюто за избор на система, най-логичното нещо, което може да се предположи, е, че Мениджърът за зареждане GRUB е повреден, неправилно конфигуриран или е заменен с друг. (обикновено зареждащата програма на Windows).

В системи с множество дистрибуции или с Windows, споделящ диск, е типично това Преинсталирането на Windows зарежда GRUB от MBR/EFI и стартира директно системата на Microsoft. без да се дава възможност за избор на Linux.

Класическият начин за възстановяване на GRUB е да Стартирайте от Live CD/USB на вашата дистрибуция, монтирайте дяла, където е инсталиран Linux, изпълнете chroot режим и преинсталирайте GRUB на правилния диск.Това е добре изпитана и сравнително бърза процедура.

В типичен пример с диск /dev/sda и коренната директория на Linux на адрес /dev/sda5, стъпките биха били:

sudo su
fdisk -l # para localizar la partición de Linux
mkdir /media/linux
mount -t ext4 /dev/sda5 /media/linux
mount -t proc none /media/linux/proc
mount -o bind /dev /media/linux/dev
chroot /media/linux

Оттам нататък вече сте вътре в инсталираната система. Класически GRUB (стара версия) Можете да направите:

grub
find /boot/grub/stage1
root (hdA,B)
setup (hdA)
quit

Докато при GRUB 2 обичайната практика е да се изпълнява директно grub-инсталиране срещу диска и след това регенерирайте конфигурацията с актуализация-grub за откриване на всички съществуващи системи.

Ако предпочитате нещо по-автоматично и не ви се занимава с команди, в среди като Ubuntu го имате под ръка. Boot-Repair, много мощен графичен инструмент, който драстично опростява възстановяването на GRUB..

От Сесия на живоБи било достатъчно да се изпълни:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install -y boot-repair
boot-repair

След първоначален анализ на системата, самото приложение предлага „Препоръчителен ремонт“, който обикновено е достатъчен в повечето случаи да преинсталирате GRUB там, където му е мястото, и да регенерирате записите му. Ако това не е достатъчно, разширените опции ви позволяват дори да Почистете и възстановете GRUB от нулата, изберете на кой диск да го инсталирате, възстановете MBR, проверете файловата система или настройте коя система се зарежда по подразбиране.

Режим на възстановяване на Linux

Режим на възстановяване, fsck, dpkg и други вътрешни инструменти

Ако се появи GRUB и можете да изберете дистрибуцията си, но системата замръзва по средата, ще искате да разгледате опции за възстановяване, които самото меню на GRUB предлага в повечето съвременни дистрибуции.

Обикновено има вход, наречен Разширени опции или подобно, където ще намерите, за всяко инсталирано ядро, вариант с режим на възстановяванеТова е най-директният начин за влизане в среда за поддръжка с root права.

Като изберете опцията за възстановяване за най-новото ядро, системата ще се зареди в специален режим, от който можете да стартирате fsck за проверка и коригиране на грешки на диска, clean за освобождаване на място, dpkg за поправяне на повредени пакети и опция за регенериране на GRUB.

Като цяло, тези инструменти ви позволяват да:

  • fsck: анализира файловата система и поправя несъответствия, много полезно, ако е имало прекъсвания на захранването или принудителни изключвания по средата на записа.
  • чист: освобождава ненужно пространство, което може да блокира важни актуализации или записи.
  • Dpkg: преконфигурира и поправя повредени или частично инсталирани пакети, отключвайки актуализации, които са оставили системата в нестабилно състояние.
  • Актуализация на Grub: принуждава регенериране на конфигурационните и зареждащите записи.

Когато блокирането се дължи на прекъсната актуализация, ново ядро, което не успява да се зареди, или почти пълен дял, Преминаването през това меню за възстановяване обикновено е достатъчно, за да заработи дистрибуцията отново. без нужда от Live CD-та.

Повредени дялове: fdisk и fsck много внимателно

Друг доста често срещан сценарий е, че Дялът, където е инсталиран Linux, или самият дял /boot може да има грешки във файловата система, независимо дали поради внезапни изключвания, дефектни сектори или неправилно обработени дялове.

Ако системата откаже да монтира root дяла при зареждане, един от изходите е Използвайте Live дистрибуция, избройте дяловете с fdisk -ly и изпълнете fsck на съответния дял. да се опита да поправи щетите (или използвайте GParted (ако предпочитате графичен интерфейс).

Например, от Live можете да направите:

sudo fdisk -l # localizar /dev/sda1, /dev/sda5, etc.
sudo fsck /dev/sda1

Инструментът fsck проверява файловата система и в някои случаи... Той е способен автоматично да коригира логически грешки, които са попречили на сглобяването.Това обаче не е магическа пръчка; ако дискът е физически повреден, някои данни може да бъдат загубени по време на ремонта.

Важно предупреждениеИ fdisk, и fsck могат напълно унищожаване на структурата на дяловете или съдържанието на файловата система при злоупотребаВинаги, когато е възможно, архивирайте важни данни, преди да правите каквито и да е промени. Ако нямате резервно копие, приемете, че работите с команди с висок риск.

Настройки на BIOS/UEFI, Secure Boot и Fast Boot

В сравнително съвременните компютри класическият BIOS е отстъпил място на UEFI и с него идва и Мерки за сигурност, като например опциите за Secure Boot и "Fast Boot", могат значително да попречат на Linux. ако не са конфигурирани правилно.

Secure Boot позволява зареждане само на код, подписан с надеждни ключове. Много големи дистрибуции вече включват това. подписани shims, така че вашият GRUB и ядрото да работят с активирано Secure BootДруги, по-рядко срещани или такива, предназначени за по-стар хардуер, обаче не го поддържат.

Ако вашата дистрибуция не се стартира или UEFI отказва да зареди своя мениджър за стартиране, едно бързо решение е Въведете настройките на фърмуера, деактивирайте Secure Boot или активирайте режим Legacy/CSM, жертвайки известна сигурност в замяна на пълна съвместимост.

От друга страна, когато споделяте компютър с Windows 10/11, си струва напълно деактивирайте Fast Boot (или Fast Startup) както в Windows, така и в самия UEFI.Тази функция оставя системата на Microsoft в един вид хибридна хибернация, като зарежда част от ядрото на диска и блокира чистия достъп до NTFS от Linux.

След като Fast Boot е деактивиран и Secure Boot е настроен според нуждите на вашата дистрибуция, Windows и Linux би трябвало да съществуват много по-добре едновременно в конфигурация с двойно зареждане.без припокриващи се зареждащи програми или блокиране от проблеми с хибернацията.

Ментален еквивалент на Windows: стъпка по стъпка методология в Debian/Ubuntu

Ако имате десетилетия опит с Windows, вероятно сте свикнали с горе-долу фиксирана рутина за спешни случаи: Безопасен режим → chkdsk → автоматично поправяне → възстановяване на системата → форматиранеВ Debian, Ubuntu и производните им версии можете да следвате подобна философия, като променяте инструментите.

Разумна последователност в дистрибуции, базирани на Debian, би била нещо подобно, комбинирайки няколко от обсъжданите техники:

  • Проверете BIOS/UEFI и хардуераПроверка на разпознаването на диска: RAM памет с MemTest, състояние на диска със SMART от Live версия.
  • Опитайте GRUB и режим на възстановяванеАко GRUB се затваря, отидете в „Разширени опции“ и използвайте recovery, за да стартирате fsck, dpkg и да регенерирате GRUB.
  • Поправка на файловата системаАко главният дял не се монтира, използвайте Live + fsck на правилния дял с повишено внимание.
  • Поправете или преинсталирайте GRUB: чрез ръчно chroot или Boot-Repair за почистване на мениджъра и възстановяване на multiboot.
  • Преглед и промяна на ядротоИзберете по-старо ядро ​​от GRUB, ако новото се провали, или надстройте до по-ново, ако старото се срине поради известни грешки.
  • Актуализирайте пакетите и почистете зависимоститеОт chroot използвайте apt/dpkg, за да завършите непълните актуализации и да премахнете конфликтните пакети.
  • Преинсталирайте, като запазите даннитеАко нищо не работи, използвайте инсталатора на дистрибуцията, за да преинсталирате Linux, като запазите /home и, ако е възможно, приложенията.

Тази методология е менталният еквивалент на тази, която вероятно вече усвоявате в Windows, но възползвайки се от инструментите и предимствата, предлагани от екосистемата Debian/Ubuntuкъдето пълната преинсталация обикновено е крайната мярка, а не първата.

Използване на моментни снимки, резервни копия и разделяне на дялове

Една важна разлика с Windows е, че освен ако не го конфигурирате, Linux не се предлага с вградена „машина на времето“, като например „Възстановяване на системата“.Но имате няколко начина да подходите към тази идея със снимки, резервни копия и интелигентно разделяне.

Силно препоръчителна практика е Разделете boot (/boot), system (/) и data (/home) на различни дялове и, ако желаете, отделен дял за данниКогато системата се срине, можете да я преинсталирате върху / и /boot, оставяйки дяла с данни непокътнат.

Освен това, ако използвате LVM или разширени файлови системи като Btrfs, Можете да създавате системни снимки, преди да докосвате чувствителни неща (основни актуализации, промени в ядрото и др.)и да могат да се оттеглят сравнително бързо в случай на бедствие.

В ежедневието, отвъд моментните снимки, това, което остава фундаментално, е Правете редовни резервни копия на вашата директория /home и файловете, които са наистина важни за вас.Независимо дали е на друг диск, в облака или на NAS, никой инструмент за спасяване не може да замести доброто архивиране.

Друг здравословен навик е, когато редактирате чувствителни конфигурационни файлове (/etc/fstab, /etc/default/grub, мрежови файлове и др.)Винаги запазвайте копие с разширение .bak или подобно. Ако нещо се обърка и системата не успее да се стартира, можете да възстановите оригиналния файл от Live диск или в режим на спасяване.

Кога си струва да преинсталирате Linux и как да го направите без загуба на данни?

Идва момент, в който, след многобройни опити и неуспешни задачи, По-рентабилно е да преинсталирате дистрибуцията, отколкото да продължавате да актуализирате нестабилна система.Ключът е да го направите по начин, който не води до загуба на информация.

Дистрибуции като Ubuntu, Linux Mint или Zorin обикновено предлагат изрична опция в инсталатора си за Преинсталирайте системата, като запазите личните си файлове и дори инсталираните приложенияТова е Linux версията на „ремонтната инсталация“ на Windows.

Въпреки че тази опция обикновено работи много добре, винаги е препоръчително да Подкрепете го, като архивирате вашата директория /home и всички чувствителни данни на външен диск или в облака.в случай че нещо се обърка по време на процеса.

Ако „консервативната“ преинсталация също не реши проблема, последната мярка е изтрийте и преинсталирайте системата от нулата, като използвате отделни дялове за /boot, / и /home/dataСледващият път, когато имате проблем със зареждането, просто форматирайте /boot и /, оставяйки дяла с данни недокоснат.

Дори ако имате само един смесен дял, където системата и данните са заедно, все още можете Стартирайте от Live диск, монтирайте този дял, копирайте данните си на външно устройство и след това преинсталирайте. със спокойствието, че файловете ви вече са в безопасност.

Ако след всичко това сте успели да накарате вашата Linux система да диша отново, най-мъдрото нещо, което можете да направите, е да интернализирате някои рутини: Бъдете изключително внимателни, когато актуализирате ядра и критични пакети, правете редовни архивирания, отделете операционната система от данните, деактивирайте функциите за бързо зареждане на Windows и дръжте под ръка USB устройство с инструменти като Boot-Repair.Следвайки логичен ред на проверките – хардуер, GRUB, файлова система, пакети, ядра и едва накрая преинсталиране – е много рядко Linux, който не се стартира, да се превърне в смъртна присъда за вашите данни или време.

Как да възстановите bootloader-а на Windows след инсталиране или премахване на Linux
Свързана статия:
Как да възстановите bootloader-а на Windows след инсталиране или премахване на Linux