Как мне починить Grub?

Вопрос или проблема

Я использовал стандартную установку
df -h

Файловая система  Размер Исп. Дост. Исп% Смонтирована в
tmpfs           1.6G  2.6M  1.6G   1% /run
efivarfs        150K   90K   56K  62% /sys/firmware/efi/efivars
/dev/sda1        30G  5.8G   24G  20% /cdrom
/cow            7.7G  271M  7.5G   4% /
tmpfs           7.7G   12K  7.7G   1% /dev/shm
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
tmpfs           7.7G  315M  7.4G   4% /tmp
tmpfs           1.6G  2.6M  1.6G   1% /run/user/1000
/dev/sda1        30G  5.8G   24G  20% /mnt

Точки монтирования

sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
NAME        FSTYPE     SIZE MOUNTPOINT                               LABEL
loop0       squashfs   1.6G /tmp/tmprxy604mp/minimal.squashfs.dir    
loop1       squashfs   471M                                          
loop2       squashfs 874.4M                                          
loop3       squashfs     4K /snap/bare/5                             
loop4       squashfs  74.3M /snap/core22/1564                        
loop5       squashfs 149.6M /snap/thunderbird/507                    
loop6       squashfs 116.8M /snap/ubuntu-desktop-bootstrap/237       
loop7       squashfs  10.7M /snap/firmware-updater/127               
loop8       squashfs 505.1M /snap/gnome-42-2204/176                  
loop9       squashfs 269.8M /snap/firefox/4793                       
loop10      squashfs  10.5M /snap/snap-store/1173                    
loop11      squashfs  91.7M /snap/gtk-common-themes/1535             
loop12      squashfs  38.8M /snap/snapd/21759                        
loop13      squashfs   500K /snap/snapd-desktop-integration/178      
loop14      squashfs  15.9M /tmp/tmprxy604mp/minimal.en.squashfs.dir 
nvme0n1              476.9G                                          
├─nvme0n1p1 vfat         1G                                          
└─nvme0n1p2 ext4     475.9G  

Если я попробую

sudo update-grub

Я получаю это

/usr/sbin/grub-probe: error: failed to get canonical path of `/cow'.

Если я попытаюсь примонтировать раздел

sudo mount /dev/nvme0n1p1 /mnt/boot/efi

он говорит, что точка монтирования не существует: /mnt/boot/efi.
[ 769.972143] критическая ошибка носителя, dev nvme0n1, сектор 2212416 op 0x1:(WRITE) flags 0x800 phys_seg 4 prio class 0
[ 769.972147] nvme0n1: ошибка ввода-вывода Cmd(0x1) @ LBA 6397960, 8 блоков, ошибка I/O

(sct 0x1 / sc 0x82) DNR 
[  769.972149] критическая ошибка носителя, dev nvme0n1, сектор 6397960 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
[  769.979173] JBD2: восстановление журнала провалено
[  769.979176] EXT4-fs (nvme0n1p2): ошибка при загрузке журнала
[  802.503287] usb 1-1: отключение USB, номер устройства 2
[  874.301980] /dev/sda1: невозможно найти blockdev
[  875.947903] /dev/sda1: невозможно найти blockdev
[ 1747.657551] FAT-fs (sda1): ошибка чтения каталога (блок 32768)

В чем на самом деле проблема и как я должен это исправить?

Ответ или решение

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

1. Теория (Theory):

GRUB — это загрузчик, который загружает операционную систему в вашей системе. Ошибка "/usr/sbin/grub-probe: error: failed to get canonical path of /cow" означает, что система не может определить путь к монтированной файловой системе /cow, которая используется в режиме загрузки с "живого" носителя (Live CD/USB).

Ошибка монтирования "/mnt/boot/efi: mount point does not exist" свидетельствует о том, что EFI-раздел не может быть смонтирован, поскольку, вероятно, нет указанных директорий, либо путь неверный. Сообщение о критической ошибке носителя и неудачном восстановлении журнала JBD2 также указывает на возможные проблемы с файловой системой на диске.

2. Пример (Example):

Предположим, что вы работаете с системой Linux, которая не загружается, и вы используете Live CD для восстановления GRUB. Вы сталкиваетесь с ошибками при попытке установить GRUB обратно и видите, что диск отказывается записывать данные из-за I/O ошибок.

3. Применение (Application):

  1. Загрузка с Live USB/CD:
    Убедитесь, что вы загрузились с live-системы, которая позволяет вам работать с дисками, установленными на вашем ПК.

  2. Проверка файловой системы:
    Прежде всего, проверьте и исправьте ошибки файловой системы на разделе nvme0n1p2. Используйте:

    sudo fsck.ext4 /dev/nvme0n1p2

    Если этот процесс выявит и исправит ошибки, это может решить часть проблем.

  3. Создание необходимых директорий:
    Прежде чем вы сможете смонтировать EFI-раздел, создайте необходимые директории:

    sudo mkdir -p /mnt/boot/efi
  4. Монтирование разделов:
    Затем примонтируйте EFI-раздел к вашей системе:

    sudo mount /dev/nvme0n1p1 /mnt/boot/efi

    После этого смонтируйте файловую систему корневого раздела:

    sudo mount /dev/nvme0n1p2 /mnt
  5. Chroot в вашу систему:
    Зайдите в chroot окружение, чтобы задействовать среду вашей системы:

    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    sudo chroot /mnt
  6. Переустановка GRUB:
    В chroot-режиме выполните команды для переустановки и обновления GRUB:

    sudo grub-install /dev/nvme0n1
    sudo update-grub

Если все шаги выполнены правильно и проблемы с дисками устранены, ваша система должна загружаться корректно. Однако, если ошибки хранения продолжаются, это может указывать на аппаратные повреждения диска NVMe, и возможно, стоит рассмотреть его замену.

Оцените материал
Добавить комментарий

Капча загружается...