GNU/Linux >> Belajar Linux >  >> Linux

systemd untuk Mengizinkan Pengunduran Otomatis ke Kernel yang Lebih Lama jika Terjadi Kegagalan Boot

Baru-baru ini, systemd meluncurkan fitur baru untuk mengelola kegagalan boot. Mari kita baca tentangnya dalam liputan singkat yang sama.

Apa itu systemd?

Systemd adalah daemon sistem yang berfungsi sebagai rangkaian perangkat lunak dari blok bangunan dasar untuk sistem Linux. Ini memfasilitasi sistem dan manajemen layanan dan memulai sisa sistem. Secara konvensional diwakili semua dalam huruf kecil sebagai systemd (daemon sistem) menurut standar Unix/Linux.

Ini dimulai sebagai proyek pengembang pada tahun 2010 oleh Lennart Poettering dan Kay Sievers. Fedora menjadi distribusi besar pertama yang menyertakan systemd secara default sejak Mei 2011.

Dimasukkannya systemd menciptakan semacam pemberontakan di pengguna Linux veteran. Distribusi seperti Devuan dibuat hanya untuk menjauhkan systemd.

Saya tidak akan membahas perdebatan systemd vs init di sini. Itu sepenuhnya panggilan Anda jika Anda memahami teknisnya. Saya akan membagikan fitur baru systemd bersama dengan pengalaman saya dalam memperbaiki kegagalan boot dengannya.

Penghitungan Boot:Fitur Terbaru Systemd

Seperti yang disarankan oleh frasa, menghitung upaya booting adalah bagian dari versi revisi systemd's “Penilaian Boot Otomatis”, yang memungkinkan pelacakan boot dan kegagalan kernel.

Dengan bantuan penilaian ini, sistem dapat secara otomatis kembali ke versi OS/kernel sebelumnya, jika OS/kernel yang lebih baru gagal melakukan booting karena kegagalan.

Kumpulan fitur yang direvisi dari systemd 's Penilaian Boot Otomatis baru tersedia di dokumentasi GitHub. Anda dapat membacanya jika Anda tertarik dengan detail teknisnya.

Pengembang juga menyarankan bahwa selain memberikan solusi lengkap pada sistem UEFI, komponen yang berbeda juga dapat digunakan secara independen dalam kombinasi dengan perangkat lunak lain.

Mendiagnosis masalah dengan systemd:My Experience

Saya senang dengan fitur baru systemd ini. Ini dapat menghemat banyak waktu dan masalah bagi pengguna Linux. Saya akan berbagi pengalaman saya dengan masalah boot SEBELUM systemd memperkenalkan fitur kegagalan boot ini.

Sistem telah membantu saya mendiagnosis masalah di masa lalu pada sistem dual boot saya dan saya pikir akan berguna untuk berbagi pengalaman di sini, untuk mengetahui tentang sumber dayanya:

Suatu kali, ketika mencoba mem-boot sistem Ubuntu 16.04 LTS saya, saya mendapat pesan kesalahan berikut setelah memilih yang sama dari GRUB:

Saya terkejut mengapa tiba-tiba "disambut" dengan pesan yang mengganggu setelah seharian sibuk bekerja. Ketika saya membaca bahwa itu menyebutkan salah satu hard disk PC saya (/ dev/sdb3), saya mendapat petunjuk bahwa itu mungkin ada hubungannya dengan fitur hibernasi Windows 10 dan fakta bahwa upaya shutdown pada Windows 10 sebenarnya adalah hibernasi parsial untuk boot lebih cepat.

Segera setelah saya mendapatkan petunjuk ini, saya boot ke Windows dan melakukan shutdown total dengan menahan tombol Shift dan kemudian mengklik Shutdown dari menu Startup Windows, setelah itu saya berhasil masuk ke Ubuntu. Untuk selanjutnya, saya menonaktifkan "startup cepat" dan hibernasi di Windows.

Ketika saya melihat ke log dengan bantuan perintah, kembali di Ubuntu, saya menemukan bahwa pesan kesalahan adalah bagian dari systemd fitur. Saya menggunakan perintah berikut untuk menyimpan output lengkap dari perintah dalam file log:

journalctl -xb | tee systemdlogged.log

Saat menelusuri file log, saya dapat mengonfirmasi ulang bahwa itu memang karena hibernasi parsial pada Windows 10 (Tidak dapat membuat sesi:Sudah berjalan dalam sesi ).

Suka atau benci?

Seperti yang Anda lihat bahwa fallback otomatis baru ke kernel lama ini akan menyelamatkan pengguna Linux dari beberapa masalah di sini.

Ide ini akan memungkinkan implementasi skema serupa pada boot loader lain atau sistem non-UEFI. Mungkin systemd juga dapat dipertimbangkan untuk digunakan dengan LinuxBoot di masa mendatang?



Linux
  1. 5 alasan sysadmin menyukai systemd

  2. Boot Non-grafis Dengan Systemd?

  3. Mengubah ukuran partisi boot

  1. pygrub:Tidak dapat menemukan partisi yang berisi kernel

  2. Lewati modul kernel saat boot

  3. Ketergantungan sistem dan urutan boot

  1. Izinkan Setuid Pada Skrip Shell?

  2. Cara men-debug proses boot systemd di CentOS/RHEL 7 dan 8

  3. Apakah mungkin mem-boot kernel Linux tanpa membuat gambar initrd?