我在 RaspberryPi2 上運行 4.9.61-1-ARCH armv7l。我透過升級破壞了我的系統。為了修復這個問題,我從另一個 Arch ARM 安裝中使用 chroot 進入 sdc2,但由於能力不足,我沒有掛載引導分割區 sdc1。我運行了pacman -Syu
,現在我的系統再次啟動,並且只要我能告訴就運作良好,但是我收到以下警告:
[2017-11-28 22:34] [ALPM] upgraded linux-raspberrypi (4.9.61-1 -> 4.9.65-1)
[2017-11-28 22:34] [ALPM-SCRIPTLET] WARNING: /boot appears to be a seperate partition but is not mounted.
[2017-11-28 22:34] [ALPM-SCRIPTLET] You probably just broke your system. Congratulations.
[2017-11-28 22:34] [ALPM-SCRIPTLET] >>> Updating module dependencies. Please wait ...
[2017-11-28 22:34] [ALPM] running '99-linux-raspberrypi.hook'...
[2017-11-28 22:34] [ALPM-SCRIPTLET] ==> Building image from preset: /etc/mkinitcpio.d/linux-raspberrypi.preset: 'default'
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> -k 4.9.65-1-ARCH -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
[2017-11-28 22:34] [ALPM-SCRIPTLET] ==> Starting build: 4.9.65-1-ARCH
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [base]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [udev]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [autodetect]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [modconf]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [block]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [filesystems]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [keyboard]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [fsck]
[2017-11-28 22:34] [ALPM-SCRIPTLET] ==> WARNING: No modules were added to the image. This is probably not what you want.
[2017-11-28 22:34] [ALPM-SCRIPTLET] ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
[2017-11-28 22:34] [ALPM-SCRIPTLET] ==> Image generation successful
另一個人pacman -Syu
告訴我“沒什麼可做的”
現在我想知道這是否會導致問題,也許會導致未來的升級。是否建議降級 linux-raspberrypi 並再次運行升級,或者我在這裡安全嗎,因為它似乎有效?
資料夾 /boot 內容的修改日期與啟動分割區的修改日期相匹配,因此我按照註釋中的建議複製了它們 - 工作正常。
答案1
首先,將 /boot 中的所有內容複製到暫存目錄,
$ sudo cp -R /boot /tmp/boot
$ ls /tmp/boot # verify that everything copied over
然後刪除/boot中的所有內容,
$ sudo rm -ir /boot/*
然後掛載你的啟動目錄,
$ sudo mount -a # mounts all filesystems mentioned in fstab
$ sudo mount | grep boot # verify boot is mounted
然後將所有內容複製回/boot,
$ sudo cp -R /tmp/boot/* /boot/
$ ls /boot # verify files copied over successfully
$ sudo rm -rf /tmp/boot # delete temporary directory