Terima kasih kepada pengguna laman web 鸢一雨音 atas sumbangannya
Saya menulis artikel ini atas sebab tertentu. Untuk mengkonfigurasi but senyap sepenuhnya, saya melakukan operasi mkinitcpio yang tidak betul pada Linux yang dijalankan pada komputer kerja saya kerana saya mengabaikan ralat logik dalam fail mkinitcpio.conf. Ini menyebabkan mkinitcpio menghasilkan fail kernel baharu, tetapi fail kernel ini tidak berfungsi dengan betul. Apabila dimulakan semula, permulaan kernel dibatalkan dalam keadaan Panik.
Secara amnya, apabila kernel baharu tidak berfungsi dengan betul, anda boleh memulakan sistem buat sementara waktu dengan menggunakan versi sandaran bagi fail kernel initramfs, atau malah secara langsung menulis ganti versi sandaran untuk melancarkan semula perubahan, tetapi kali ini, mkinitcpio telah diubah suai pada masa yang sama fail kernel vmlinuz, dan vmlinuz tidak mempunyai versi sandaran. Bagi pengguna biasa, mereka boleh memasang semula sistem secara terus, bagaimanapun, konfigurasi persekitaran stesen kerja pengarang agak rumit, yang bermaksud bahawa sebagai tambahan kepada kemungkinan kehilangan fail kerja saya, saya juga perlu menghabiskan banyak masa tambahan untuk mengkonfigurasi semula pembangunan; persekitaran.
Nota:"Pembaikan" tutorial ini merujuk kepada "cuba memulihkan perubahan manusia yang dahsyat", jadi ia tidak boleh digunakan untuk pulih daripada ranap kernel yang tidak diketahui.
1 But dari LiveCD dan lihat cakera
Berdasarkan pengalaman yang terkumpul semasa operasi sambilan dan penyelenggaraan pelayan Linux, saya serta-merta terfikir bahawa saya boleh menggunakan LiveCD untuk but bagi mendapatkan persekitaran Linux sementara untuk membaiki kernel.
Pengarang menggunakan versi 64-bit Arch Linux, jadi saya but daripada LiveCD Arch Linux. Selepas memasukkan pengguna root terbina dalam LiveCD dengan betul, kami perlu menyemak nama peranti cakera keras utama kami. Jalankan fdisk -l Dalam kes pengarang, fail peranti yang sepadan dengan cakera keras utama saya dan partition yang dipasang pada direktori root ialah /dev/sdb2.
2. chroot ke direktori akar sistem pada cakera keras
Untuk chroot ke direktori akar sistem pada cakera keras dan boleh memanggil komponen sistem pada cakera keras secara normal untuk membuat perubahan pada sistem pada cakera keras, kita mesti terlebih dahulu memasang partition akar pada cakera keras secara manual. Laksanakan (fail peranti saya ialah /dev/sdb2):
mount /dev/sdb2 /mnt
Jangan tergesa-gesa lagi. Pada masa ini, walaupun chrooting ke /mnt boleh memasuki bash sistem utama pada cakera keras, anda hampir tidak dapat menyelesaikan sebarang tugas yang kompleks dengan betul kerana masih terdapat beberapa direktori penting yang tidak dipasang. Kami melaksanakan arahan untuk melekapkan direktori proc, direktori /sys, direktori /dev dan direktori /run masing-masing. Masukkan /mnt dan laksanakan masing-masing:
mount -t proc proc proc/
mount --rbind /sys sys/
mount --rbind /dev dev/
mount --rbind /run run/
Fungsi direktori ini ialah:
direktori proc: Sistem fail format Procfs maya yang digunakan untuk menyimpan fail status proses (di bawah Linux, fail ini kelihatan seperti fail teks di permukaan, tetapi sebenarnya adalah pemetaan fail bagi status proses
)./sys directory: Untuk Arch Linux, ini ialah sistem fail maya dalam format Sysfs yang serupa dengan direktori proc, digunakan untuk menyimpan fail peranti yang disambungkan ke sistem untuk Unix tradisional dan seperti Unix, ia adalah penunjuk ke pautan lembut pokok kod kernel
/dev directory: menyimpan fail peranti, contohnya, cakera keras anda ialah /dev/sdXY;
/jalankan direktori: menyimpan beberapa maklumat sistem selepas permulaan terkini;
Selepas memasang perkara ini, kami boleh chroot ke direktori akar cakera keras utama kami:
chroot /mnt
Ubat sesal++. Bagi saya, saya hanya perlu mengubah suai fail mkinitcpio.conf dan melaksanakan semula operasi mkinitcpio untuk menjana semula fail kernel yang betul. Secara amnya, jika panik kernel disebabkan oleh pengubahsuaian konfigurasi yang salah, persekitaran ini boleh menyelesaikan kebanyakan masalah.
3. Beberapa kemahiran
1. Banyak fail konfigurasi mempunyai versi atau templat yang betul dalam sistem dalam LiveCD. Jika anda tidak ingat bagaimana rupanya, anda boleh merujuknya
2. Untuk Arch Linux, anda boleh terus menggunakan arahan pacstrap untuk menguruskan pakej perisian pada titik pelekap /mnt tanpa chroot ke;
3. Ia boleh dikendalikan di bawah dua ttys, supaya selepas chrooting ke /mnt, fail masih boleh dipindahkan dari sistem fail LiveCD ke /mnt.Tutorial ini sepatutnya tersedia untuk kebanyakan pengedaran Linux, dan saya harap ia akan membantu sesetengah pengguna Linux.
Cadangan berkaitan:
Bagaimana untuk mengkonfigurasi kad grafik dwi dalam sistem Linux?
Atas ialah kandungan terperinci Petua untuk menangani panik kernel Linux dengan berkesan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!