Я хотел бы смонтировать загрузочный раздел принадлежащий Ubuntu-21.10-предустановленный сервер-arm64+raspi.img.xz
загружен с веб-сайта Raspberry PI.
Распаковка файла образа и монтирование загрузочного раздела с помощью команды вида
mount -o loop, offset = 1048576, sizelimit = 268435456 ubuntu-21.10-preinstalled-server-arm64+raspi.img /var/nfs/ubuntu-21.10-boot
... работает просто отлично. Вы можете увидеть смонтированный образ вместе с /dev/mmcblk0p1
устройство:
гора | загрузка grep
/dev/mmcblk0p1 в /boot/прошивке типа vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
/var/nfs/ubuntu-21.10-preinstalled-server-arm64+raspi.img на /var/nfs/ubuntu-21.10-boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset= ascii, короткое имя = смешанное, ошибки = remount-ro)
Однако, когда я добавляю то же крепление к /etc/fstab
к уже существующему креплению для /загрузка/прошивка
:
LABEL=системная загрузка /boot/firmware vfat по умолчанию 0 1
/var/nfs/ubuntu-21.10-preinstalled-server-arm64+raspi.img /var/nfs/ubuntu-21.10-boot ext4 loop,offset=1048576,sizelimit=268435456 0 0
... и перезагрузите систему (или запустите гора -а
) загрузочный раздел образа монтируется как в /var/nfs/ubuntu-21.10-загрузки
как и ожидалось, но и в /загрузка/прошивка
и тем самым подменив настоящую прошивку на /dev/mmcblk0p1
:
гора | загрузка grep
/var/nfs/ubuntu-21.10-preinstalled-server-arm64+raspi.img на /var/nfs/ubuntu-21.10-boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset= ascii, короткое имя = смешанное, ошибки = remount-ro)
/var/nfs/ubuntu-21.10-preinstalled-server-arm64+raspi.img в /boot/прошивке типа vfat (rw, relatime, fmask=0022, dmask=0022, codepage=437,iocharset=ascii,shortname=mixed, ошибки = перемонтировать-ро)
Очевидно, это связано с тем, что загрузочный раздел образа помечен системная загрузка
который сталкивается с /dev/mmcblk0p1
помечены так же.
(На странице руководства по монтированию указано, что фстаб
игнорируется, когда указаны и устройство, и точки монтирования, что объясняет, почему ручное монтирование работает должным образом.)
Я могу придумать следующие обходные пути, чтобы избежать перезаписи прошивки:
- Избегайте использования fstab и монтируйте вручную в сценарии rc
- Переименуйте загрузочный раздел файла образа
- Заменять
LABEL=загрузка системы
с фактическим устройством, на котором находится прошивка (как предложено в ответе @Tilman ниже)
... но
Есть ли способ предотвратить автоматическое монтирование записи fstab по метке?