Boot lambat, waktu muat kernel lama, karena perangkat resume salah

44

Untuk beberapa waktu, proses boot saya terlalu lama (hampir 1 menit).

systemd-analyse time 

menunjukkan bahwa kernel mengambil 35.765s

Melihat dmesg, tampaknya masalahnya adalah dengan pemasangan sistem file:

...
[    2.186084]  sdb: sdb1 sdb9
[    2.186919] sd 2:0:0:0: [sdb] supports TCG Opal
[    2.186922] sd 2:0:0:0: [sdb] Attached SCSI disk
[    2.499795] ata5: SATA link down (SStatus 0 SControl 300)
[    2.844320] clocksource: Switched to clocksource tsc
[   35.670493] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
[   35.782128] ip_tables: (C) 2000-2006 Netfilter Core Team
[   35.803610] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
...

/etc/fstabPenampilan saya seperti ini:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu--vg-root /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=3996-2381  /boot/efi       vfat    umask=0077      0       1
#/dev/mapper/ubuntu--vg-swap_1 none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

Bagaimana saya bisa memecahkan masalah ini?

EDIT: melihat dari dekat pada pesan boot (setelah menghapus opsi tenang di grub), saya melihat garis yang mencurigakan:

gave up waiting for suspend/resume device

Saya pikir swap saya dienkripsi, dan saya juga berpikir UUID di /etc/initramfs/conf.d/resumetidak sesuai dengan perangkat apa pun.

Haruskah saya menonaktifkan resume / menangguhkan? dan bagaimana cara melakukannya?

alci
sumber
6
Masalahnya sebenarnya di `` `Begin: Running / scripts / local-premount` `` Ini ditampilkan saat boot (jika Anda menonaktifkan quiet). Karena beberapa alasan skrip premount ini membutuhkan waktu 30 detik atau lebih.
Sudhanshu
1
Pertanyaan / jawaban ini sangat berharga karena membantu menyelesaikan bug di Lubuntu Bionic, jadi tolong bantu membukanya kembali :-)
sudodus

Jawaban:

59

Ok, saya menemukan solusinya, terima kasih atas komentar Sudhanshu.

Masalahnya adalah karena swap saya dienkripsi. Jadi local-premountskrip di initramfs sedang menunggu perangkat swap yang tidak tersedia, sampai waktunya habis. Pesan yang relevan adalah gave up waiting for suspend/resume device.

Untuk menonaktifkan ini (sebagai melanjutkan dari swap adalah tidak mungkin dengan swap terenkripsi, dan saya tidak menggunakan hibernasi pula), saya diubah file ini: /etc/initramfs-tools/conf.d/resume.

Dalam file ini, sebuah baris dengan

RESUME=none

(bukan UUID yang ada di sini) akan menonaktifkan menunggu perangkat resume.

Menjalankan

sudo update-initramfs -u

untuk menerapkan perubahan.

Sistem sekarang melakukan boot secara normal.

alci
sumber
1
Saya pikir Anda dipengaruhi oleh Bug # 1763611, sepatu bionik Lubuntu lebih lambat daripada rasa Ubuntu lainnya dengan beberapa SSD . Dan Anda telah menunjukkan cara
memeras
3
Cemerlang! Terima kasih untuk perbaikannya. Itu membuat saya mencabut rambut saya!
Murray
Terima kasih untuk perbaikannya
Adhikari Bishwash
Sudah masalah sejak lama disebabkan oleh zram (tidak ada partisi swap). Saya baru saja memperbaikinya, terima kasih!
Pierre-Damien
3

Saya juga melihat ini di Linux Mint (berbasis Ubuntu), dan menghabiskan beberapa waktu untuk mencari tahu apa yang salah.

Ini terjadi jika sistem Anda diinstal pada LVM dan menggunakan volume LVM sebagai disk swap.

Ada bug berulang yang sudah berlangsung lama di mana file resume salah memiliki UUID (yang tidak valid untuk LVM) alih-alih jalur perangkat yang seharusnya. Lihat https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/1768230

Anda dapat memperbaikinya dengan mengedit /etc/initramfs-tools/conf.d/resumefile dan mengganti UUID dengan jalur perangkat drive swap. Cuplikan perintah berikut akan melakukan ini untuk Anda, menggunakan drive swap pertama yang ditemukan dan dilaporkan oleh blkid:

sudo bash -c 'mv /etc/initramfs-tools/conf.d/resume /tmp/resume.bak; echo RESUME=$(blkid | \grep -I swap | head -n 1 | cut -d : -f 1) > /etc/initramfs-tools/conf.d/resume'
Suara Tanpa Nama
sumber
2

Tidak ada solusi di atas atau di tempat lain yang berhasil bagi saya, tetapi saya telah menemukan solusi yang mengurangi waktu boot saya menjadi 40 detik dari 2 menit dan 10 detik.

Saya dulu membuat dan menghapus partisi swap dan entah bagaimana log ini tetap di file etc / fstab. Jadi sistem saya mencoba me-mount partisi swap yang sebelumnya dibuat yang tidak ada lagi. Jadi tolong izinkan saya menjelaskan apa yang saya lakukan langkah demi langkah.

  1. Saya menjalankan perintah ini sudo blkid | grep swapuntuk mencari tahu partisi swap saya. Ada dua tetapi satu sebenarnya tidak ada (itu tidak merujuk ke salah satu partisi saya).

  2. Jadi saya pergi untuk mengedit file / etc / fstab dengan mengetik sudo gedit /etc/fstab

  3. Kemudian saya menyadari ada begitu banyak file swap yang telah saya hapus tetapi entah bagaimana kembali ada di file ini. Jadi saya merujuk ke langkah 1 dan menghapus partisi yang tidak ada lagi .

Silakan lihat dua sebelum & sesudah / etc / fstab screenshot file. Setelah pembersihan ini semuanya berfungsi seperti biasa.

Ini adalah file / etc / fstab yang belum diedit / etc / fstab

dan di sini setelah memusnahkan partisi swap yang tidak ada bersih / etc / fstab

deni
sumber
Ini berhasil untuk saya. Terima kasih.
Abanoub Hanna
2

Saya mendapatkan masalah ini setelah menginstal 2 distro linux yang berbeda. Entah bagaimana, pada satu distro, partisi swap mendapat UUID lain yang ditugaskan kemudian diharapkan. Solusi saya adalah: Pertama, jalankan sudo blkiduntuk mendapatkan UUID yang tepat untuk partisi swap. Salin UUID dari swap. Tempelkan /etc/initramfs-tools/conf.d/resumesehingga Anda dapatkan RESUME=_the_correct_UUID_. Sekarang jalankan sudo update-initramfs -uuntuk menerapkan perubahan ini.

Selanjutnya, periksa / etc / fstab, dan ubah UUID dari partisi swap di sana juga jika perlu. (Saya harus)

Benny
sumber
Ini membantu saya. Terima kasih.
Abanoub Hanna