Наверно это самый страшный сон пользователя – когда комп выключается во время апгрейда системы.
Именно это и случилось – во время обновления ноут выключился от перегрева. И всё бы ничего, если бы он не вырубился как раз где-то на моменте сборки нового ядра.
В результате – система не грузится, а выдёт сообщение:
Warning: /lib/modules/4.16.13-1-ARCH/modules.devname not found – ignoring
starting version 238
ERROR: device ‘/dev/mapper/kubuntu_vg-root’ not found. Skipping fsck.
mount: you must specify the filesystem type
You are now being dropped into an emergency shell.
А так как в загрузочном образе (initramfs) не все модули (были бы все – нашёлся бы и модуль для загрузки LVM) – то не работает даже клавиатура.
Благо – под боком есть старая машинка с Windows, на которой я по выходным иногда играю и которая позволила погуглить.
Нагуглилось решение быстро – раз>>>, два>>>, три>>>.
“Ха! Раз плюнуть ваще!” – сказал я, вырубил ноут и отложил фикс на следующий вечер.
Но вы же понимаете – это было бы слишком просто 🙂
Собственно в этом посте – описание процесса восстановления загрузки системы, который затянулся на целых два вечера и ~4 часа времени.
Не стоит его рассматривать как мануал по восстановлению, ибо делалось всё вечерами после работы, особо вникать а тем более детально расписывать было и некогда, и желания не особо, пост писался вроде бы последовательно – но что-то мог пропустить.
Тем не менее – решение проблемы есть, и даже не одной.
Решение
Загружаемся с любого LiveCD, тут это установочная флешка с Arch Linux – с некоторых пор она у меня всегда в рюкзаке лежит.
Я обычно делаю всё через SSH, что бы иметь доступ к копи-пасту для вставки в блог, поэтому – поднимаем WiFI:
[simterm]
[root@archiso ~]# wifi-menu
[/simterm]
Задаём пароль рута:
[simterm]
[root@archiso ~]# passwd root
[/simterm]
И запускаем sshd
:
[simterm]
[root@archiso ~]# systemctl start sshd.service
[/simterm]
Проверяем разделы:
[simterm]
[root@archiso ~]# fdisk -l /dev/sda Disk /dev/sda: 596.2 GiB, 640135028736 bytes, 1250263728 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x6fa60981 Device Boot Start End Sectors Size Id Type /dev/sda1 2048 4196351 4194304 2G 83 Linux /dev/sda2 4196352 37750783 33554432 16G 82 Linux swap / Solaris /dev/sda3 37750784 1086326783 1048576000 500G 83 Linux /dev/sda4 * 1086326784 1250260991 163934208 78.2G 7 HPFS/NTFS/exFAT
[/simterm]
sda3
тут – это LVM раздел, в котором живут root
и /home
:
[simterm]
[root@archiso ~]# lvdisplay -c /dev/kubuntu_vg/root:kubuntu_vg:3:1:-1:0:62914560:7680:-1:0:-1:254:0 /dev/kubuntu_vg/home:kubuntu_vg:3:1:-1:0:985653248:120319:-1:0:-1:254:1
[/simterm]
kubuntu в имени раздела – т.к. раньше на ноуте была Ubuntu, а потом LVM переехал под Arch Linux, см. Arch: установка поверх Ubuntu с сохранением home в LVM
Тут sda1
– это /boot
, sda2
– swap, sda4
– старый раздел со старой Windows7.
Монтируем разделы:
[simterm]
[root@archiso ~]# mount /dev/kubuntu_vg/root /mnt/ [root@archiso ~]# mount /dev/kubuntu_vg/home /mnt/home/ [root@archiso ~]# mount /dev/sda1 /mnt/boot/
[/simterm]
Проверяем содержимое /boot
:
[simterm]
[root@archiso ~]# ls -l /mnt/boot/ total 86536 -rw-r--r-- 1 root root 1313640 Jun 24 2016 abi-4.2.0-41-generic -rw-r--r-- 1 root root 1313590 Jun 29 2016 abi-4.2.0-42-generic -rw-r--r-- 1 root root 184897 Jun 24 2016 config-4.2.0-41-generic -rw-r--r-- 1 root root 184934 Jun 29 2016 config-4.2.0-42-generic drwxr-xr-x 5 root root 4096 Mar 8 2017 grub -rw-r--r-- 1 root root 31649225 Dec 28 2016 initrd.img-4.2.0-41-generic -rw-r--r-- 1 root root 32397264 Feb 11 2017 initrd.img-4.2.0-42-generic drwx------ 2 root root 16384 Mar 7 2016 lost+found -rw-r--r-- 1 root root 176500 Mar 12 2014 memtest86+.bin -rw-r--r-- 1 root root 178176 Mar 12 2014 memtest86+.elf -rw-r--r-- 1 root root 178680 Mar 12 2014 memtest86+_multiboot.bin -rw------- 1 root root 3759492 Jun 24 2016 System.map-4.2.0-41-generic -rw------- 1 root root 3760051 Jun 29 2016 System.map-4.2.0-42-generic -rw------- 1 root root 6734768 Jun 24 2016 vmlinuz-4.2.0-41-generic -rw------- 1 root root 6736496 Jun 29 2016 vmlinuz-4.2.0-42-generic
[/simterm]
А где initramfs-linux.img
?.. И почему такое старое ядро – vmlinuz-4.2.0-42
? Давно уже 4.15 было установлено…
А – это от старой Ubuntu, видимо. Ладно.
И файлы хомика:
[simterm]
[root@archiso ~]# ls -l /mnt/home/ total 24 drwx------ 2 root root 16384 Mar 6 2016 lost+found drwxr-xr-x 111 1000 1000 4096 Jun 4 17:16 setevoy drwxr-xr-x 9 root root 4096 May 29 19:04 timeshift
[/simterm]
ОК, данные на месте, можно восстанавливать ядро.
Выполняем chroot
в старую систему:
[simterm]
[root@archiso ~]# arch-chroot /mnt 20:33:03 [root@archiso /] #
[/simterm]
Можно проверить лог апгрейда, и посмотреть где именно оно “упало”:
[simterm]
20:42:19 [root@archiso /] # cat /var/log/pacman.log | grep linux | tail -n 10 [2018-05-28 22:43] [ALPM-SCRIPTLET] ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img [2018-05-28 22:43] [ALPM-SCRIPTLET] ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback' [2018-05-28 22:43] [ALPM-SCRIPTLET] -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect [2018-05-28 22:43] [ALPM-SCRIPTLET] ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img [2018-05-29 19:05] [ALPM-SCRIPTLET] See 'archlinux-java help' to change it [2018-05-29 19:05] [ALPM-SCRIPTLET] See 'archlinux-java help' to change it [2018-05-29 19:05] [ALPM-SCRIPTLET] See 'archlinux-java help' to change it [2018-06-04 20:40] [ALPM] upgraded linux (4.16.11-1 -> 4.16.13-1) [2018-06-04 20:40] [ALPM] upgraded linux-headers (4.16.11-1 -> 4.16.13-1) [2018-06-04 20:41] [ALPM] running '60-linux.hook'...
[/simterm]
Пробуем просто собрать загрузочный образ – initramfs:
[simterm]
20:44:45 [root@archiso /] # mkinitcpio -p linux ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default' -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img ==> ERROR: specified kernel image does not exist: `/boot/vmlinuz-linux' ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback' -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect ==> ERROR: specified kernel image does not exist: `/boot/vmlinuz-linux'
[/simterm]
Тут я понял, что вечер затягивается – “по-быстрому” не выйдет.
Пробуем установить ядро:
[simterm]
20:48:07 [root@archiso /] # pacman -S linux error: failed to init transaction (unable to lock database) error: could not lock database: File exists if you're sure a package manager is not already running, you can remove /var/lib/pacman/db.lck
[/simterm]
Удаляем файл блокировки – остался после прерванного апгрейда:
[simterm]
20:48:29 [root@archiso /] # rm /var/lib/pacman/db.lck
[/simterm]
Закончим апргейд, на котором ноут и вырубился:
[simterm]
20:48:40 [root@archiso /] # pacman -Syu :: Synchronizing package databases... core 129.6 KiB 795K/s 00:00 [#######################################################################################] 100% extra 1628.0 KiB 1149K/s 00:01 [#######################################################################################] 100% community 4.4 MiB 1139K/s 00:04 [#######################################################################################] 100% multilib 170.4 KiB 1114K/s 00:00 [#######################################################################################] 100% archlinuxfr is up to date :: Starting full system upgrade... warning: dee: local (1.2.7-11) is newer than community (1.2.7-2) resolving dependencies... looking for conflicting packages... Packages (42) aws-cli-1.15.33-1 bash-4.4.023-1 binutils-2.30-5 chrpath-0.16-2 elfutils-0.171-1 gcc-8.1.1+20180531-1 gcc-libs-8.1.1+20180531-1 geocode-glib-3.26.0-1 harfbuzz-1.8.0-1 harfbuzz-icu-1.8.0-1 hyphen-2.8.8-2 keyutils-1.5.10-2 lib32-gcc-libs-8.1.1+20180531-1 lib32-harfbuzz-1.8.0-1 libarchive-3.3.2-2 libelf-0.171-1 libtar-1.2.20-4 libtool-2.4.6+40+g6ca5e224-7 libunistring-0.9.10-1 linux-4.16.13-2 linux-headers-4.16.13-2 ltrace-0.7.3-3 mkinitcpio-busybox-1.28.4-1 nodejs-10.4.0-1 parallel-20180522-1 pcmciautils-018-8 pkcs11-helper-1.22-3 procps-ng-3.3.15-1 pulseaudio-alsa-2-4 python-botocore-1.10.33-1 python-pexpect-4.6.0-1 python-requests-2.18.4-2 python-urllib3-1.23-1 python2-notify-0.1.1-14 python2-pbr-4.0.4-1 python2-regex-2018.06.06-1 qrencode-4.0.1-1 readline-7.0.005-1 sbc-1.3-2 sound-theme-freedesktop-0.8-3 virtualbox-5.2.12-2 virtualbox-host-dkms-5.2.12-2 ...
[/simterm]
linux-4.16.13-2
есть, ждём.
И угадайте что? Он снова вырубился…
“Кажется, вечер перестаёт быть томным” (с)
И снова на том же месте:
(42/42) upgrading virtualbox [#######################################################################################] 100%
:: Running post-transaction hooks…
( 1/11) Updating linux module dependencies…
( 2/11) Install DKMS modules
==> dkms install vboxhost/5.2.12_OSE -k 4.16.13-2-ARCH
ОК, опять загружаемся, монтируем заново разделы:
[simterm]
[root@archiso ~]# mount /dev/kubuntu_vg/root /mnt/ [root@archiso ~]# mount /dev/kubuntu_vg/home /mnt/home/ [root@archiso ~]# mount /dev/sda1 /mnt/boot/
[/simterm]
Теперь даже появился файл ядра – vmlinuz-linux
:
[simterm]
[root@archiso ~]# ls -l /mnt/boot/ total 91656 -rw-r--r-- 1 root root 1313640 Jun 24 2016 abi-4.2.0-41-generic -rw-r--r-- 1 root root 1313590 Jun 29 2016 abi-4.2.0-42-generic -rw-r--r-- 1 root root 184897 Jun 24 2016 config-4.2.0-41-generic -rw-r--r-- 1 root root 184934 Jun 29 2016 config-4.2.0-42-generic drwxr-xr-x 5 root root 4096 Mar 8 2017 grub -rw-r--r-- 1 root root 31649225 Dec 28 2016 initrd.img-4.2.0-41-generic -rw-r--r-- 1 root root 32397264 Feb 11 2017 initrd.img-4.2.0-42-generic drwx------ 2 root root 16384 Mar 7 2016 lost+found -rw-r--r-- 1 root root 176500 Mar 12 2014 memtest86+.bin -rw-r--r-- 1 root root 178176 Mar 12 2014 memtest86+.elf -rw-r--r-- 1 root root 178680 Mar 12 2014 memtest86+_multiboot.bin -rw------- 1 root root 3759492 Jun 24 2016 System.map-4.2.0-41-generic -rw------- 1 root root 3760051 Jun 29 2016 System.map-4.2.0-42-generic -rw------- 1 root root 6734768 Jun 24 2016 vmlinuz-4.2.0-41-generic -rw------- 1 root root 6736496 Jun 29 2016 vmlinuz-4.2.0-42-generic -rw-r--r-- 1 root root 5240688 Jun 1 18:45 vmlinuz-linux
[/simterm]
Чрутимся, повторяем попытку апгрейда (теперь с включенным в подставке ноута вентилятором):
[simterm]
21:01:35 [root@archiso /] # pacman -Syu :: Synchronizing package databases... core is up to date extra is up to date community is up to date multilib is up to date archlinuxfr is up to date :: Starting full system upgrade... warning: dee: local (1.2.7-11) is newer than community (1.2.7-2) there is nothing to do
[/simterm]
Ага, ок.
Собираем initramfs:
[simterm]
21:01:39 [root@archiso /] # mkinitcpio -p linux ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default' -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img ==> Starting build: 4.16.13-2-ARCH -> Running build hook: [base] -> Running build hook: [udev] -> Running build hook: [autodetect] -> Running build hook: [modconf] -> Running build hook: [block] ==> ERROR: module not found: `eata' ==> ERROR: module not found: `aoe' ==> ERROR: module not found: `brd' ==> ERROR: module not found: `nbd' ==> ERROR: module not found: `loop' ==> ERROR: module not found: `mtip32xx' ... ==> ERROR: module not found: `pcips2' ==> ERROR: module not found: `serio_raw' -> Running build hook: [fsck] ==> WARNING: No modules were added to the image. This is probably not what you want. ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img ==> WARNING: errors were encountered during the build. The image may not be complete.
[/simterm]
Эм…
И самое тут плохое:
…
-> Running build hook: [lvm2]
==> ERROR: module not found: `dm_mod’
==> ERROR: module not found: `dm_snapshot’
==> ERROR: module not found: `dm_mirror’
==> ERROR: module not found: `dm_cache’
==> ERROR: module not found: `dm_cache_smq’
==> ERROR: module not found: `dm_thin_pool’
…
Не загрузится.
Хотя файл драйвера есть:
[simterm]
21:14:03 [root@archiso /] # ls -l /lib/modules/4.16.13-2-ARCH/kernel/drivers/md/| grep dm-mod -rw-r--r-- 1 root root 0 Jun 1 21:45 dm-mod.ko.xz
[/simterm]
Пересобрать ядро? Хотя чем это тут поможет…
[simterm]
# pacman -Syyu linux :: Synchronizing package databases... core 129.6 KiB 571K/s 00:00 [#######################################################################################] 100% extra 1628.0 KiB 1039K/s 00:02 [#######################################################################################] 100% community 4.4 MiB 1131K/s 00:04 [#######################################################################################] 100% multilib 170.4 KiB 1136K/s 00:00 [#######################################################################################] 100% archlinuxfr 11.5 KiB 1152K/s 00:00 [#######################################################################################] 100% warning: linux-4.16.13-2 is up to date -- reinstalling ... linux: /usr/lib/modules/4.16.13-2-ARCH/kernel/sound/x86/snd-hdmi-lpe-audio.ko.xz exists in filesystem linux: /usr/lib/modules/4.16.13-2-ARCH/kernel/virt/lib/irqbypass.ko.xz exists in filesystem linux: /usr/lib/modules/4.16.13-2-ARCH/modules.alias exists in filesystem linux: /usr/lib/modules/4.16.13-2-ARCH/modules.alias.bin exists in filesystem linux: /usr/lib/modules/4.16.13-2-ARCH/modules.builtin exists in filesystem linux: /usr/lib/modules/4.16.13-2-ARCH/modules.builtin.bin exists in filesystem linux: /usr/lib/modules/4.16.13-2-ARCH/modules.dep exists in filesystem linux: /usr/lib/modules/4.16.13-2-ARCH/modules.dep.bin exists in filesystem linux: /usr/lib/modules/4.16.13-2-ARCH/modules.devname exists in filesystem linux: /usr/lib/modules/4.16.13-2-ARCH/modules.order exists in filesystem linux: /usr/lib/modules/4.16.13-2-ARCH/modules.softdep exists in filesystem linux: /usr/lib/modules/4.16.13-2-ARCH/modules.symbols exists in filesystem linux: /usr/lib/modules/4.16.13-2-ARCH/modules.symbols.bin exists in filesystem linux: /usr/lib/modules/extramodules-4.16-ARCH/version exists in filesystem linux: /usr/share/libalpm/hooks/60-linux.hook exists in filesystem linux: /usr/share/libalpm/hooks/90-linux.hook exists in filesystem Errors occurred, no packages were upgraded.
[/simterm]
Ну да…
Снести, и заново попробовать?
[simterm]
21:30:19 [root@archiso /home/setevoy/Backups] # pacman -R linux checking dependencies... Packages (1) linux-4.16.13-2 :: Do you want to remove these packages? [Y/n] :: Processing package changes... (1/1) removing linux [#######################################################################################] 100% ldconfig: file /usr/lib32/libgo.so is truncated ldconfig: file /usr/lib32/libgo.so.13 is truncated ldconfig: file /usr/lib32/libgo.so.13.0.0 is truncated ldconfig: File /usr/lib/libpkcs11-helper.so is empty, not checked. ldconfig: File /usr/lib/libpkcs11-helper.so.1 is empty, not checked. ldconfig: File /usr/lib/libprocps.so.7.1.0 is empty, not checked. ldconfig: File /usr/lib/libsbc.so.1.2.1 is empty, not checked. ldconfig: File /usr/lib/libpkcs11-helper.so.1.0.0 is empty, not checked. ldconfig: File /usr/lib/libprocps.so is empty, not checked. ldconfig: File /usr/lib/libqrencode.so.4.0.1 is empty, not checked. ldconfig: File /usr/lib/libsbc.so is empty, not checked. ldconfig: File /usr/lib/libqrencode.so.4 is empty, not checked. ldconfig: File /usr/lib/libsbc.so.1 is empty, not checked. ldconfig: File /usr/lib/libqrencode.so is empty, not checked. ldconfig: File /usr/lib/libprocps.so.7 is empty, not checked.
[/simterm]
Устанавливаем:
[simterm]
21:30:28 [root@archiso /home/setevoy/Backups] # pacman -Syyu linux
[/simterm]
И ничего. Те же ошибки, типа “linux: /usr/lib/modules/4.16.13-2-ARCH/modules.symbols.bin exists in filesystem“.
ОК – переносим эти файлы в бекап:
[simterm]
21:30:59 [root@archiso /home/setevoy/Backups] # mv /usr/lib/modules/4.16.13-2-ARCH/ . 21:31:52 [root@archiso /home/setevoy/Backups] # mkdir KERNEL 21:32:13 [root@archiso /home/setevoy/Backups] # mv /boot/vmlinuz-linux KERNEL/ 21:32:20 [root@archiso /home/setevoy/Backups] # mv /usr/lib/modules/extramodules-4.16-ARCH/version KERNEL/ 21:32:24 [root@archiso /home/setevoy/Backups] # mv /usr/share/libalpm/hooks/60-linux.hook KERNEL/ 21:32:28 [root@archiso /home/setevoy/Backups] # mv /usr/share/libalpm/hooks/90-linux.hook KERNEL/
[/simterm]
Ещё раз пробем устанавить ядро:
[simterm]
21:32:33 [root@archiso /home/setevoy/Backups] # pacman -S linux resolving dependencies... looking for conflicting packages... Packages (1) linux-4.16.13-2 Total Installed Size: 113.86 MiB :: Proceed with installation? [Y/n] (1/1) checking keys in keyring [#######################################################################################] 100% (1/1) checking package integrity [#######################################################################################] 100% (1/1) loading package files [#######################################################################################] 100% (1/1) checking for file conflicts [#######################################################################################] 100% (1/1) checking available disk space [#######################################################################################] 100% :: Processing package changes... (1/1) installing linux [#######################################################################################] 100% Optional dependencies for linux crda: to set the correct wireless channels of your country ldconfig: file /usr/lib32/libgo.so is truncated ldconfig: file /usr/lib32/libgo.so.13 is truncated ldconfig: file /usr/lib32/libgo.so.13.0.0 is truncated ldconfig: File /usr/lib/libpkcs11-helper.so is empty, not checked. ldconfig: File /usr/lib/libpkcs11-helper.so.1 is empty, not checked. ldconfig: File /usr/lib/libprocps.so.7.1.0 is empty, not checked. ldconfig: File /usr/lib/libsbc.so.1.2.1 is empty, not checked. ldconfig: File /usr/lib/libpkcs11-helper.so.1.0.0 is empty, not checked. ldconfig: File /usr/lib/libprocps.so is empty, not checked. ldconfig: File /usr/lib/libqrencode.so.4.0.1 is empty, not checked. ldconfig: File /usr/lib/libsbc.so is empty, not checked. ldconfig: File /usr/lib/libqrencode.so.4 is empty, not checked. ldconfig: File /usr/lib/libsbc.so.1 is empty, not checked. ldconfig: File /usr/lib/libqrencode.so is empty, not checked. ldconfig: File /usr/lib/libprocps.so.7 is empty, not checked. :: Running post-transaction hooks... (1/4) Updating linux module dependencies... (2/4) Install DKMS modules ==> Unable to install module vboxhost/5.2.12_OSE for kernel 4.16.13-2-ARCH: Missing kernel headers. (3/4) Updating linux initcpios... ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default' -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img ==> Starting build: 4.16.13-2-ARCH -> Running build hook: [base] -> Running build hook: [udev] -> Running build hook: [autodetect] -> Running build hook: [modconf] -> Running build hook: [block] -> Running build hook: [lvm2] -> Running build hook: [filesystems] -> Running build hook: [keyboard] -> Running build hook: [fsck] ==> Generating module dependencies ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img ==> Image generation successful ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback' -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect ==> Starting build: 4.16.13-2-ARCH -> Running build hook: [base] -> Running build hook: [udev] -> Running build hook: [modconf] -> Running build hook: [block] ==> WARNING: Possibly missing firmware for module: wd719x ==> WARNING: Possibly missing firmware for module: aic94xx -> Running build hook: [lvm2] -> Running build hook: [filesystems] -> Running build hook: [keyboard] -> Running build hook: [fsck] ==> Generating module dependencies ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img ==> Image generation successful (4/4) Arming ConditionNeedsUpdate...
[/simterm]
Вроде ОК? lvm2
есть, initramfs собрался:
[simterm]
21:33:25 [root@archiso /home/setevoy/Backups] # ls -l /boot/ total 140164 -rw-r--r-- 1 root root 1313640 Jun 24 2016 abi-4.2.0-41-generic -rw-r--r-- 1 root root 1313590 Jun 30 2016 abi-4.2.0-42-generic -rw-r--r-- 1 root root 184897 Jun 24 2016 config-4.2.0-41-generic -rw-r--r-- 1 root root 184934 Jun 30 2016 config-4.2.0-42-generic drwxr-xr-x 5 root root 4096 Mar 8 2017 grub -rw-r--r-- 1 root root 35455830 Jun 6 21:33 initramfs-linux-fallback.img -rw-r--r-- 1 root root 14212917 Jun 6 21:33 initramfs-linux.img -rw-r--r-- 1 root root 31649225 Dec 28 2016 initrd.img-4.2.0-41-generic -rw-r--r-- 1 root root 32397264 Feb 11 2017 initrd.img-4.2.0-42-generic drwx------ 2 root root 16384 Mar 7 2016 lost+found -rw-r--r-- 1 root root 176500 Mar 12 2014 memtest86+.bin -rw-r--r-- 1 root root 178176 Mar 12 2014 memtest86+.elf -rw-r--r-- 1 root root 178680 Mar 12 2014 memtest86+_multiboot.bin -rw------- 1 root root 3759492 Jun 24 2016 System.map-4.2.0-41-generic -rw------- 1 root root 3760051 Jun 30 2016 System.map-4.2.0-42-generic -rw------- 1 root root 6734768 Jun 24 2016 vmlinuz-4.2.0-41-generic -rw------- 1 root root 6736496 Jun 30 2016 vmlinuz-4.2.0-42-generic -rw-r--r-- 1 root root 5240688 Jun 1 21:45 vmlinuz-linux
[/simterm]
Пробуем – ребут.
Снова нет…
Почему он пытается искать Warning: /lib/modules/4.16.13-1-ARCH/modules.devname not found – ignoring?
Ведь ядро 13-2:
[simterm]
21:39:48 [root@archiso /] # ls -l /lib/modules/4.16.13-2-ARCH/modules.devname -rw-r--r-- 1 root root 433 Jun 6 21:32 /lib/modules/4.16.13-2-ARCH/modules.devname
[/simterm]
initramfs билдится теперь без проблем:
[simterm]
21:40:49 [root@archiso /boot] # mkinitcpio -p linux ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default' -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img ==> Starting build: 4.16.13-2-ARCH -> Running build hook: [base] -> Running build hook: [udev] -> Running build hook: [autodetect] -> Running build hook: [modconf] -> Running build hook: [block] -> Running build hook: [lvm2] -> Running build hook: [filesystems] -> Running build hook: [keyboard] -> Running build hook: [fsck] ==> Generating module dependencies ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img ==> Image generation successful ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback' -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect ==> Starting build: 4.16.13-2-ARCH -> Running build hook: [base] -> Running build hook: [udev] -> Running build hook: [modconf] -> Running build hook: [block] ==> WARNING: Possibly missing firmware for module: wd719x ==> WARNING: Possibly missing firmware for module: aic94xx -> Running build hook: [lvm2] -> Running build hook: [filesystems] -> Running build hook: [keyboard] -> Running build hook: [fsck] ==> Generating module dependencies ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img ==> Image generation successful
[/simterm]
Что в образе?
Проверяем содержимое:
[simterm]
21:41:34 [root@archiso /boot] # gunzip -c initramfs-linux.img > /tmp/initramfs 21:42:47 [root@archiso /boot] # pacman -S cpio 21:43:53 [root@archiso /boot] # cpio -it < /tmp/initramfs | grep modules 81632 blocks usr/lib/modules usr/lib/modules/4.16.13-2-ARCH usr/lib/modules/4.16.13-2-ARCH/modules.devname ...
[/simterm]
13-2, модули есть, всё верно.
Перегенерить конфиг GRUB? Да тоже не поможет…
Но попробуем:
[simterm]
21:57:09 [root@archiso /] # grub-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ... WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. Found linux image: /boot/vmlinuz-linux Found initrd image: /boot/initramfs-linux.img Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img Found linux image: /boot/vmlinuz-4.2.0-42-generic Found initrd image: /boot/initrd.img-4.2.0-42-generic Found linux image: /boot/vmlinuz-4.2.0-41-generic Found initrd image: /boot/initrd.img-4.2.0-41-generic WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. grub-probe: error: cannot find a GRUB drive for /dev/sdb1. Check your device.map. Found Windows 7 on /dev/sda4 done
[/simterm]
Перезагружаемся – таже ошибка.
Ну, ок… Завтра…
Продолжаем.
Интересное вот что заметил.
Монтируем только рут:
[simterm]
[root@archiso ~]# mount /dev/kubuntu_vg/root /mnt/
[/simterm]
И проверяем /boot
:
[simterm]
[root@archiso ~]# ls -l /mnt/boot/ total 53564 drwxr-xr-x 6 root root 4096 Mar 17 07:15 grub -rw-r--r-- 1 root root 35409377 May 28 19:43 initramfs-linux-fallback.img -rw-r--r-- 1 root root 14192101 May 28 19:43 initramfs-linux.img -rw-r--r-- 1 root root 5240688 May 31 23:28 vmlinuz-linux
[/simterm]
Что это за ядро? Откуда? Ведь старый /boot
, с sda1
, не смонтирован…
А если смонтировать старый бут – то там будут файлы с него…
Схожая ситуация была у парня вот тут>>>.
Глянем – что в этом ядре.
[simterm]
[root@archiso ~]# cd /mnt/boot/ [root@archiso boot]# gunzip -c initramfs-linux.img > /tmp/initramfs [root@archiso boot]# pacman -Sy [root@archiso boot]# pacman -S cpio [root@archiso boot]# cpio -it < /tmp/initramfs | grep modules 81544 blocks usr/lib/modules usr/lib/modules/4.16.11-1-ARCH usr/lib/modules/4.16.11-1-ARCH/modules.devname ...
[/simterm]
Эм… 4.16.11-1???
Но ошибка при старте касается ядра Warning: /lib/modules/4.16.13-1-ARCH/modules.devname not found – ignoring…
А сейчас вообще ядро 13-2…
Думал, это ядро с ISO, с которого загружен – но тут 4.16.5.
Ладно.
Монтируем старый хомик, и переносим все файлы из этого /boot
– бекапим их, just in case:
[simterm]
[root@archiso boot]# mount /dev/kubuntu_vg/home /mnt/home/ [root@archiso boot]# mkdir /mnt/home/setevoy/Backups/KERNEL/boot_4_11 [root@archiso boot]# mv /mnt/boot/* /mnt/home/setevoy/Backups/KERNEL/boot_4_11/
[/simterm]
Монтируем старый /boot
, с sda1
:
[simterm]
[root@archiso boot]# mount /dev/sda1 /mnt/boot/ [root@archiso boot]# ls -l /mnt/boot/ total 140164 -rw-r--r-- 1 root root 1313640 Jun 24 2016 abi-4.2.0-41-generic -rw-r--r-- 1 root root 1313590 Jun 29 2016 abi-4.2.0-42-generic -rw-r--r-- 1 root root 184897 Jun 24 2016 config-4.2.0-41-generic -rw-r--r-- 1 root root 184934 Jun 29 2016 config-4.2.0-42-generic drwxr-xr-x 5 root root 4096 Jun 6 18:57 grub -rw-r--r-- 1 root root 35453368 Jun 6 18:41 initramfs-linux-fallback.img -rw-r--r-- 1 root root 14213159 Jun 6 18:41 initramfs-linux.img -rw-r--r-- 1 root root 31649225 Dec 28 2016 initrd.img-4.2.0-41-generic -rw-r--r-- 1 root root 32397264 Feb 11 2017 initrd.img-4.2.0-42-generic drwx------ 2 root root 16384 Mar 7 2016 lost+found -rw-r--r-- 1 root root 176500 Mar 12 2014 memtest86+.bin -rw-r--r-- 1 root root 178176 Mar 12 2014 memtest86+.elf -rw-r--r-- 1 root root 178680 Mar 12 2014 memtest86+_multiboot.bin -rw------- 1 root root 3759492 Jun 24 2016 System.map-4.2.0-41-generic -rw------- 1 root root 3760051 Jun 29 2016 System.map-4.2.0-42-generic -rw------- 1 root root 6734768 Jun 24 2016 vmlinuz-4.2.0-41-generic -rw------- 1 root root 6736496 Jun 29 2016 vmlinuz-4.2.0-42-generic -rw-r--r-- 1 root root 5240688 Jun 1 18:45 vmlinuz-linux
[/simterm]
Ну – вроде ОК…
Что дальше?
Переустановить grub
?
Что там в его конфигах вообще?
И не почистить ли /boot
вообще?
Ладно – просто перегенерим его конфиг, хотя уверен – не поможет:
[simterm]
[root@archiso ~]# arch-chroot /mnt
21:26:20 [root@archiso /] # grub-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ... WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. Found linux image: /boot/vmlinuz-linux Found initrd image: /boot/initramfs-linux.img Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img Found linux image: /boot/vmlinuz-4.2.0-42-generic Found initrd image: /boot/initrd.img-4.2.0-42-generic Found linux image: /boot/vmlinuz-4.2.0-41-generic Found initrd image: /boot/initrd.img-4.2.0-41-generic WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. WARNING: Failed to connect to lvmetad. Falling back to device scanning. grub-probe: error: cannot find a GRUB drive for /dev/sdb1. Check your device.map. Found Windows 7 on /dev/sda4 done
[/simterm]
Ребут, и ужинать. Потом уже.
После ужина и ребута – новая ошибка при включении ноута:
error: file ‘/grub/i386-pc/normal.mod’ not found.
grub rescue>
О! Уже интереснее. Значит – что-то с /boot
всё таки не так.
Тут пригодился вот этот ответ>>> – там хорошие примеры работы в консоли grub
.
[simterm]
grub> ls (hd0,msdos1)/boot/grub/i386-pc/normal.mod
normal.mod
[/simterm]
Файл есть…
Не помогло, да и время 10 вечера…
Ладно, последняя попытка, если не получится – то читать, и спать.
Переустановим grub
.
Монтируемся заново с флешки:
[simterm]
[root@archiso ~]# mount /dev/kubuntu_vg/root /mnt/ [root@archiso ~]# ls -l /mnt/boot/ total 0
[/simterm]
OK…
Остальное:
[simterm]
[root@archiso ~]# mount /dev/kubuntu_vg/home /mnt/home/ [root@archiso ~]# ls -l /mnt/home/ total 24 drwx------ 2 root root 16384 Mar 6 2016 lost+found drwxr-xr-x 111 1000 1000 4096 Jun 4 17:16 setevoy .... [root@archiso ~]# mount /dev/sda1 /mnt/boot/ [root@archiso ~]# ls -l /mnt/boot/ total 140164 -rw-r--r-- 1 root root 1313640 Jun 24 2016 abi-4.2.0-41-generic -rw-r--r-- 1 root root 1313590 Jun 29 2016 abi-4.2.0-42-generic -rw-r--r-- 1 root root 184897 Jun 24 2016 config-4.2.0-41-generic -rw-r--r-- 1 root root 184934 Jun 29 2016 config-4.2.0-42-generic drwxr-xr-x 5 root root 4096 Jun 7 18:27 grub -rw-r--r-- 1 root root 35453368 Jun 6 18:41 initramfs-linux-fallback.img -rw-r--r-- 1 root root 14213159 Jun 6 18:41 initramfs-linux.img -rw-r--r-- 1 root root 31649225 Dec 28 2016 initrd.img-4.2.0-41-generic -rw-r--r-- 1 root root 32397264 Feb 11 2017 initrd.img-4.2.0-42-generic drwx------ 2 root root 16384 Mar 7 2016 lost+found -rw-r--r-- 1 root root 176500 Mar 12 2014 memtest86+.bin -rw-r--r-- 1 root root 178176 Mar 12 2014 memtest86+.elf -rw-r--r-- 1 root root 178680 Mar 12 2014 memtest86+_multiboot.bin -rw------- 1 root root 3759492 Jun 24 2016 System.map-4.2.0-41-generic -rw------- 1 root root 3760051 Jun 29 2016 System.map-4.2.0-42-generic -rw------- 1 root root 6734768 Jun 24 2016 vmlinuz-4.2.0-41-generic -rw------- 1 root root 6736496 Jun 29 2016 vmlinuz-4.2.0-42-generic -rw-r--r-- 1 root root 5240688 Jun 1 18:45 vmlinuz-linux [root@archiso ~]# swapon /dev/sda2
[/simterm]
Ресетапим grub
:
[simterm]
21:52:12 [root@archiso /] # pacman -Sy 21:52:56 [root@archiso /] # pacman -S grub 21:53:30 [root@archiso /] # grub-install /dev/sda Installing for i386-pc platform. Installation finished. No error reported.
[/simterm]
Всё? Ну пробуем…
И – ура!
Вот такие вот увлекательные вечера… 🙂