Переместил /usr на другой диск, так как он стал слишком большим, но теперь моя система не загружается?

Переместил /usr на другой диск, так как он стал слишком большим, но теперь моя система не загружается?

В настоящее время у меня установлена ​​моя установка Arch (чистая Arch + Hyprland), так что мой / (корень) находится на моем NVME SSD (на котором мало места из-за двойной загрузки Windows), но мой каталог /home находится на моем SSHD (гибрид SSD и HDD, но можно смело думать о нем просто как о HDD), потому что там гораздо больше места для хранения. Однако из-за установки большего количества пакетов, драйверов и т. д. он стал слишком большим, чтобы поместиться на моем SSD, поэтому я следовал некоторым инструкциям отаскубунту,суперпользовательи некоторые другие сайты, которые по сути говорили то же самое. После них я загрузился в live disk, смонтировал оба диска. Вотвсе диски и разделы в моей системедля справки (root - nvme0n1p8, home - sda5, target для usr - sda6) Запустил rsync -avh "/mnt/usr/" "sda6mnt/", отредактировал etc/fstab и перезагрузился. Однако после перезагрузки я получилэтот экран

Чтобы исправить это, я вернулся к живому диску, но на этот раз смонтировал все диски.так(т.е. как они должны быть после того, как все сделано, все сделано). И запустил genfstab -U /mnt >> /mnt/etc/fstab, vimвошел в fstab и отредактировал его, чтобы удалить настройку, сделанную ранее, и в итоге получилосьэтотМне показалось, что все хорошо, поэтому я перезагрузился, но столкнулся с теми же ошибками, что и раньше.

Так что да, я надеюсь, что кто-нибудь поможет мне разобраться, в чем тут проблема, и не допустил ли я какую-то ошибку при разбиении на разделы или создании fstab. Заранее спасибо!

P.S. Извините за фотографии, но у меня нет карты захвата, и, очевидно, я не могу сделать скриншот в оболочке Arch Recovery :)

решение1

Поскольку /usr содержит большую часть основной ОС, его невозможно смонтировать.кта же ОС (например, у вас пока нет /usr/bin/mount), вместо этого он должен быть смонтирован initramfs на ранней стадии процесса загрузки. Хотя дистрибутивы раньше поддерживали позднее монтирование /usr через обычный fstab, в Arch (или Debian, или Gentoo, или Fedora) это больше не так.

С помощью обычного Arch mkinitcpio отредактируйте его /etc/mkinitcpio.conf, чтобы включить usrхук; затем пересоберите initramfs с помощью mkinitcpio -P. Смотритестатья. (Хотя, поскольку вы используете Btrfs, вам, как правило, может потребоваться полностью переключить initramfs на «systemd».)

(Однако, если говорить реалистично, я думаю, что нет смысла хранить остальную часть / на вашем SSD. Без /usr на вашем SSD останутся только /var и /etc, оба из которых крошечные и редко используемые. На настольном ПК хранение /var на самом быстром диске кажется пустой тратой времени; по сути, на нем хранятся только журналы. Я бы предпочел либо вложиться в больший SSD NVMe — сейчас за ту же цену можно купить почти 2 ТБ — либо уменьшить размер установки Windows, чтобы освободить место для /usr.)

Также следует помнить, что это rsync -aне копирует все метаданные; вам также необходимо -HAXсохранить жесткие ссылки, списки контроля доступа к файлам и расширенные атрибуты. (Например, существует несколько двоичных файлов, подобных «setuid», которым назначены файловые возможности.)

Связанный контент