Pertanyaan Bagaimana cara menjalankan ulang boot loader?


Lari sudo apt-get -f install mengatakan itu The link /vmlinuz.old is a damaged link dan:

you may need to re-run your boot loader[grub]

Berikut hasil lengkapnya:

user@chrubuntu:~$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
user@chrubuntu:~$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
After this operation, 270 MB disk space will be freed.
Do you want to continue? [Y/n] y
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en
en",
    LC_ALL = (unset),
    LC_TIME = "en",
    LC_MONETARY = "en",
    LC_ADDRESS = "en",
    LC_TELEPHONE = "en",
    LC_NAME = "en",
    LC_MEASUREMENT = "en",
    LC_IDENTIFICATION = "en",
    LC_NUMERIC = "en",
    LC_PAPER = "en",
    LANG = (unset)
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 232120 files and directories currently installed.)
Removing linux-headers-3.13.0-32-generic (3.13.0-32.57) ...
Removing linux-headers-3.13.0-32 (3.13.0-32.57) ...
Removing linux-image-extra-3.13.0-32-generic (3.13.0-32.57) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
update-initramfs: Deleting /boot/initrd.img-3.13.0-32-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
The link /initrd.img.old is a damaged link
Removing symbolic link initrd.img.old 
 you may need to re-run your boot loader[grub]
Removing linux-image-3.13.0-32-generic (3.13.0-32.57) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
update-initramfs: Deleting /boot/initrd.img-3.13.0-32-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old 
 you may need to re-run your boot loader[grub]
user@chrubuntu:~$

Bagaimana cara menjalankan ulang boot loader?


148
2017-09-02 02:44


asal


Saya mendapatkan masalah yang sama ketika saya gunakan apt-get autoremove, tetapi seperti yang dikatakan Eliah Kagan jawabannya grub tampaknya bekerja dengan baik saat reboot. - Mark Mikofski


Jawaban:


Menurut Jawaban womble untuk Tautan simbolis yang rusak / vmlinuz dan /initrd.img setelah penghapusan kernel (di Kesalahan Server), Anda tidak perlu melakukan apa pun dalam situasi ini saat boot loader Anda GRUB / GRUB2 — yang ada di sini.

Untuk beberapa boot loader lainnya (setidaknya LIL O), tampaknya diperlukan untuk menjalankan konfigurasi boot loader secara manual.

Jika kamu melakukan perlu memberi tahu GRUB untuk memeriksa kernel yang ada dan memperbarui konfigurasinya, berjalan sudo update-grub akan melakukannya. Dan tidak ada salahnya menjalankan itu. Tetapi seharusnya tidak perlu dalam kasus ini.


187
2017-09-02 02:49



ok saya berlari mereka - TevinYoungz
@TevinYoungz Tidak apa-apa. sudo update-grub seharusnya tidak membahayakan. - Eliah Kagan
Kata "kadang-kadang" adalah pernyataan yang meremehkan. - Simon Richter
Dalam berpikir bahwa pasangan kesalahan dan resolusi ini dapat menerima hadiah untuk kesalahan desain yang paling bodoh: memiliki perintah grub yang bernama update-grub dari pada grub-update yang logis dan gagal untuk menentukan perbaikan (perintah) yang bekerja di 99,99% kasus. - sorin
@ depin Aku ingin tahu apa pun yang ada laporan bug untuk itu di suatu tempat. - Mateusz Konieczny


Kesalahan ini agak aneh dalam kasus grub.

Ketika apt menginstal versi kernel baru, ia bergerak / vmlinuz dan /initrd.img ke / vmlinuz.old dan /initrd.img.old (Yang kemudian masih menunjuk ke kernel yang sedang aktif. Sekali lagi, perhatikan ekstensi .old, yang berbeda dari cerita yang tertaut di "Tautan rusak setelah pencopotan kernel") dan membuat dua file baru / vmlinuz /initrd.img.

Saat Anda berlari apt-get autoremove (pesan tidak dihasilkan oleh apt-get -f install) menghapus kernel yang sebelumnya aktif (Anda reboot setelah instalasi itu, sebelum menjalankan autoremove, kan?), yang membuat tautan tidak valid.

Ketika penghapusan kernel itu sendiri selesai, autoremove itu sendiri memanggil update-grub:

run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic

Karenanya:

The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old 
 you may need to re-run your boot loader[grub]

Jadi, autoremove tidak:

  1. hapus kernel lama
  2. jalankan pembaruan-grub
  3. update-grub menghapus file .old yang tertaut ke file yang dihapus.

Tidak perlu khawatir :-)

Salam.


31
2017-08-19 14:08



Bagaimana jika Anda tidak melakukan reboot setelah upgrade-dist yang terakhir? Lalu apa? Saya tidak pernah reboot. Itu untuk pemula. - Evan Carroll
Tidak ada cara untuk memasukkan kernel baru ke dalam memori kecuali Anda reboot. - simpleuser
Juga bijak untuk diperhatikan jika Anda memilikinya /vmlinuz && /initrd.img terhubung ke area kernel (biasanya / boot) sebelum Anda reboot. Sebagai catatan jawaban - ".old" file 'rusak tautan' tidak perlu khawatir. Dipilih ^ - bshea


$ sudo update-grub

Dan jika Anda ingin menghapus / membersihkan paket lama yang dapat Anda lakukan juga

$ dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge


11
2018-06-14 16:38



Jika Anda hanya memiliki 3.X gambar, Anda menghapus semuanya, apakah saya benar? - Harkály Gergő
Secara teknis, perintah pertama Anda menjawab pertanyaan itu. Tidak ada alasan untuk menambahkan lebih banyak tentang pemeliharaan pkg. - bshea