LINUX.ORG.RU

Arch умер после обновления.

 ,


0

1

Добрый день. После очередного обновления Arch перестала грузиться ОС. Выдаёт ошибку: root de mounted successfullyvice but /sbin/init Реанимировать его можно или только сносить? Спасибо!

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

rootfs on / type rootfs (rw)

proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)

sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)

dev on /dev type devtmpfs (rw,nosuid,relatime,size=2923156k,nr_inodes=730789,mode=755,inode64)

run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755,inode64)

/dev/sda8 on /new_root type ext4 (rw,relatime)

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

Ошибка /sbin/init does not exist указывает на то, что система не может найти исполняемый файл инициализации (обычно это systemd, который находится в /usr/lib/systemd/systemd с симлинком на него в /sbin/init).

Судя по выводу команды mount, корневая файловая система (rootfs) смонтирована, но основная файловая система (раздел /dev/sda8, который, вероятно, является твоим корневым разделом /) смонтирована в каталог /new_root, что обычно не является стандартным расположением для корневого раздела.

Возможные причины:

  1. Твой корневой раздел должен быть смонтирован в /, а не в /new_root. Возможно, при обновлении что-то изменило файл /etc/fstab, либо обновление прошло неудачно и завершилось ошибкой.
  2. Файлы systemd могли повердиться, что также может вызовать такую проблему с загрузкой.

Тебе нужно проверить содержимое раздела /dev/sda8, чтобы убедиться, что файлы целы.

Выполни команду:

ls /new_root

Проверь, присутствуют ли в этом каталоге важные системные директории, такие как bin, etc, sbin, usr, lib и т. д. Если этих директорий нет, возможно, произошла ошибка монтирования или есть какая-то проблема с разделом.

posixbit ★★
()
Последнее исправление: posixbit (всего исправлений: 2)
Ответ на: комментарий от Shaitan_Babay

Хорошо, что основные системные каталоги на месте. Значит, имеет смысл восстановить эту систему. У тебя есть внешний диск с записанным на него загрузочным образом Arch Linux? Если да, можешь его подключить и загрузиться в live-режим (первый пункт из загрузочного меню)? Весь процесс восстановления будет происходить через него (с помощью режима chroot).

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

после примонтировать раздел sda8

Сначала нужно убедиться, что после загрузки номер системного раздела не изменился. Проверить это можно командой lsblk, результат которой будет содержать информацию обо всех разделах на всех подключенных устройствах. Ориентируйся по размеру раздела. Найди тот раздел, который по объёму соответствует системному и посмотри, какой у него присвоился номер. Если название раздела отличается от sda8, используй теперь его для монтирования.

Примонтируй все свои разделы, которые ты используешь в системе, включая /boot или /boot/efi (в зависимости от того, EFI-загрузка у тебя, либо нет). Начинай именно с /mnt. Затем /boot/efi. Если у тебя есть отдельный раздел /home, то ещё и его не забудь примонтировать.

Теперь подключись к сети, если ещё не подключен. Затем проверь, что доступ в Интернет есть:

ping 8.8.8.8

Затем:

mount /dev/sda8 /mnt
pacstrap /mnt base linux-lts systemd systemd-sysvcompat efibootmgr grub
Смотри внимательно, чтобы на шаге с pacstrap не было ошибок.

Выполни:

genfstab -U -p /mnt >> /mnt/etc/fstab

Затем:

arch-chroot /mnt
ln -sf /usr/lib/systemd/systemd /sbin/init
mkinitcpio -p linux-lts
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

После всего этого перезагрузи компьютер, но сначала отмонтируй все примонтированные разделы, заканчивая /mnt (начинай в порядке монтирования с конца к первому примонтированному разделу — /mnt): umount -f /mnt

Затем перезагрузи ПК.

posixbit ★★
()
Последнее исправление: posixbit (всего исправлений: 2)
Ответ на: комментарий от Shaitan_Babay

последнее обновление прошло с ошибкой

Ошибку можно глянуть через less /new_root/var/log/pacman.log.

Попробуй чрутнуться в /new_root и оттуда запустить pacman ещё раз, либо пересобрать initramfs утилитой mkinicpio.

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

Твой корневой раздел должен быть смонтирован в /, а не в /new_root. Возможно, при обновлении что-то изменило файл /etc/fstab

В арче, в iniramfs это стандартный процесс загрузки. Сперва корень монтируется в new_root, а в конце «инита из initramfs» происходит switch_root /new_root /sbin/init.

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

Попытался всё данное сделать. Ничего не помогло. Ошибка как была, так и осталась. Что интересно, когда зашёл arch-chroot и запустил команду ls в корне, коталога new_root нигде нет.

Попробовал открыть файл /sbin/init в vim. Ругнулся что команды vim не найдено. Установил её и посмотрел содержимое файла корень у меня на /dev/sda8, а вот boot на /dev/sda7.

Это нормально?

Так же запустил обновление системы sudo pacman -Suy . куча всего обновилось, но система по факту так и не запускается.

Shaitan_Babay
() автор топика

После очередного обновления Arch перестала грузиться ОС

Как вариант, откатиться на дату, когда еще все работало, Поломался арч после обновления (комментарий).

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

Да у ТС может быть раздел переполнился (хотя pacman проверяет, вроде). Никаких данных.

Каникулы в школе? Что-то не одна такая бессодержательная тема. Ещё Nemmo топики плодит.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 2)
Ответ на: комментарий от undef

Под arch-chroot захожу и такой каталог /new_root не находит, а вот когда просто запускаю ноут. выходит ошибка и после делаю команду ls, то такой каталог вижу и в /new_root/sbin/init следующая строка

lrwxrwxrwx 1 0 0 25 Oct 25 10:11 /new_root/sbin/init -> /user/lib/systemd/systemd

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

есть способ поверх проинсталировать Arch, но так что бы настройки остались?

Все основные настройки хранятся в /home и /etc. Можешь оставить только важные каталоги, а затем установить систему по новой. Не уверен, имеет ли это вообще смысл в долгосрочной перспективе, т. к. ты слабо представляешь, что вообще делаешь. Учитывая, что никакой конкретной информации ты не даёшь о выполняемых тобой действиях, то эффективно помочь тебе у нас не получается.

posixbit ★★
()
Последнее исправление: posixbit (всего исправлений: 2)
Ответ на: комментарий от Shaitan_Babay

/new_root/sbin/init -> /user/lib/systemd/systemd

Хех. Точно такой вывод или ты в /usr опечатался?

Попробуй-таки загрузиться с init=/lib/systemd/systemd Или в чруте исправь симлинк: ln -s ../lib/systemd/systemd /sbin/init

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

я точно не опечатывался. проверил. Сейчас попробую вариант в чрут ln -s ../lib/systemd/systemd /sbin/init

не совсем понял как это сделать? "Попробуй-таки загрузиться с init=/lib/systemd/systemd "

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

Помогло! Завелась операционка. Спасибо огромное!

Ну вот. То есть проблема, как я выше и предполагал в одном из возможных вариантов, была с символьной ссылкой на systemd. Скорее всего, из-за ошибки при обновлении. Это, конечно, удивительно, т. к. у меня ни разу такого не было. Я не знаю, как так умудриться можно или при каких обстоятельствах подобное происходит. Хорошо, что разобрался. Проверь, что система корректно работает и успешно обновляется.

posixbit ★★
()