LINUX.ORG.RU

Не запускается Windows 10 и Linux Mint через GNU Grub после смены VolumeID

 , ,


1

2

Сменил VolumeID на Windows 10 через программу Hard Serial Number Changer. После перезагрузки ПК выдает ошибку при выборе Windows и ошибку с аварийным режимом на Linux Mint. В обычный вернуться не дает. https://yapx.ru/album/Z4KGk https://yapx.ru/album/Z4faI

Ответ на: комментарий от andytux

Я раньше, чтоб восстановить ошибки в граб просто устанавливал Ubuntu поверх. Он находил все ОС на компьютере.

nicholas_ru
()
Последнее исправление: nicholas_ru (всего исправлений: 1)
Ответ на: комментарий от andytux

Точно, ядро стартануло, модули с initrd тоже стартанули (это видно по сообщению от драйвера невидии), но дальше затык – ядро не видит rootfs на разделе, указанном в качестве корневого. А initrd кривой – шрифт с кириллицей недоложили. Именно поэтому у меня локаль настраивается уже после того, как будет получен «late userspace».

yars068 ★★★★★
()
Ответ на: комментарий от Kolins

Сегодня, в соседней теме уже давал эту ссылку.

Установленную систему можно запустить «как живую». В этом случае не используется fstab (генерируется другой). В данном случае как-раз сработало-бы. И не нужны ни ‘livecd-usb’, ни режимы восстановления.

andytux ★★★★★
()
Ответ на: комментарий от andytux

Аналогично, только я делаю это, потому что мне fallback (так это в арче называется) не нужен. Но задумка с «ремонтным» ядром, в целом, правильная. А мне проще с флешки с Арчом бутнуться, если что.

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 1)
Ответ на: комментарий от Mikhail757

В первом сообщении темы уже написали. Я распишу, как это происходит в Arch Linux, с поправками на конфигурацию моей системы. Итак. Загружаемся с флешки, даëм команду blkid, либо lsblk. Видим список дисков и разделов на них. У меня корневой раздел на ext4, разметка GPT, соответственно, GUID этого раздела – 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709. Но я пользуюсь метками, и поэтому монтирую этот раздел по метке, а не по GUID. Монтируем: mount -L "archrootfs" /mnt. У меня отдельный /boot, он же и ESP, монтируем в /mnt/boot тем же макаром. Далее, выполняем arch-chroot /mnt, смотрим содержимое /etc/fstab, /boot/grub/grub.cfg, сверяем с выводом команд в начале. При необходимости правим, обновляем конфиг загрузчика: grub-mkconfig -o /boot/grub/brub.cfg, выходим из чрута по exit, перезагружаемся и работаем дальше.

yars068 ★★★★★
()
Ответ на: комментарий от Mikhail757

Не надо чрутов. В лучшем случае, не сможешь его запустить.

Открываешь fstab в текстовом редакторе. Находишь строку монтирования виндовс-раздела, комментируешь её. Всё. Определить, что это для виндовс-раздела можно по ntfs или по специфическому виду УУИД-а. Он короче, чем у ext, в нём нет дефисов ‘-’.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)

Поддерживаю тех кто говорит что надо править fstab. Часто Linux имеет проблемы если во fstab нет диска, который там обозначен, то есть виндового из-за того что у него сменился UUID. Команда blkid выведет все UUID дисков (в LiveCD), просто заменяешь виндовый новым. При старте Mint должен выдать «Нажмите … для пропуска проверки» и помню ранее было вроде нажать S чтобы продолжить загрузку, в некоторых ОС даже этого нет, встрянешь на пустом месте, диск отсоединил и угадывай что случилось (после винды такое трудно понять). Можешь в gparted посмотреть «Информация» в контекстном меню раздела, там тоже UUID показывает. В Grub2 (boot\grub\grub.cfg) нужно указать новый UUID, там типа такой строки

search --no-floppy --fs-uuid --set=root FD450778129028F9

по крайней мере у меня. После обновления сам найдёт все оси, так что можешь напрямую править конфиг.

Через chroot надо ещё понять что происходит, на арч команда другая, накосячить вероятность больше если не осознавать происходящее

Верни disk id и будет тебе счастье. Это наверно идеальный путь, там же где менял ещё раз поменять. Если забыл UUID, то подсмотреть через прогу «Linux_Reader», которая имеет доступ к чтению разделов Linux.

AZJIO
()
Последнее исправление: AZJIO (всего исправлений: 1)

А какова цель была? Козырный номер получить? Система получает доступ по этому идентификатору. Команды загрузки, как виндовый, так и Grub2 получают доступ к диску по идентификатору. Я вот даже не знаю как на счёт винды, может её загрузчик тоже править придётся. Гуглинг показал, что «Да, UUID используется в загрузчике BCD». Так что идеальней той же пргой вернуть старый UUID.

AZJIO
()
Ответ на: комментарий от AZJIO

диск отсоединил и угадывай что случилось…

Поэтому, не надо всякую хрень писать в fstab. Но, покемоны норовят ещё и каким-нибудь «кустомайзером». По хорошему, в fstab только корень. И только если очень-очень хорошо понимаешь, что творишь, можно вписать, но так, чтобы абсолютно надёжно, чтобы никак не влияло на загрузку системы.

search –no-floppy –fs-uuid –set=root FD450778129028F9

Почти хорошо. Но винда создаёт несколько разделов, это может оказаться раздел восстановления. Но даже это лучше, чем ничего.

можешь напрямую править конфиг.

Можешь. Только сдуру иногда после этого далают update-grub, чем уничтожают правки.

Либо напрямую правишь конфиг, а update-grub потом восстановит его состояние. Либо правишь 40_custom, после этого update-grub, чтобы сгенерился новый конфиг.

Либо, если изменения небольшие и нужны один раз, во время загрузки входишь в режим редактирования (внизу экрана есть подсказка) и правишь. Навряд-ли даже с листа, без ошибки введёшь УУИД. А вот метку вполне можно ввести даже по памяти.

andytux ★★★★★
()
Ответ на: комментарий от andytux

Либо правишь 40_custom

Сколько ни пытался там править, всегда получал проблему, из последний в имени пункта не мог добавить класс чтобы указать иконку в графической теме. Забил, и стал тупо делать копии после каждой правки. А потом написал прогу в которой есть бэкапирование конфига.

AZJIO
()
Ответ на: комментарий от AZJIO

Чем и хорош 40_custom. В случае ощибок, будет сгенерирован конфиг под другим именем, но действующим останется старый. Он в конце, как минимум часть конфига до него будет действующей. Получается двойная защита. А ещё есть 41_custom. Тот ищет конфиг с именем custom.cfg.

andytux ★★★★★
()