しばらく前から、Linux Ubuntu 18.04 の起動が非常に遅い (5 ~ 10 分かかることもあります) という問題があります。不思議なことに、この問題は Swapfile を編集したか、Gparted を使用した後に始まったようです。コマンドtop
とswapon -s
コマンドは、Swapfile が動作していることを示しています (4 GB を予約しました)。
しかし、次のコマンドを実行すると奇妙なことが起こりました。
sudo findmnt --verify --verbose
以下の行を除いてすべて問題ありません警告表示されます:
[W] non-bind mount source /swapfile is a directory or regular file
その行は正確にはどういう意味ですか? スワップファイルをマウントできなかったという意味ですか? (実際には最終的には動作していますが)。そこで、fstab ファイルに何か問題があるのではないかと考えました。
cat /etc/fstab
スワップ ラインは次のようになります。
/swapfile none swap sw 0 0
起動中にスワップファイルを見つけてマウントする問題により、プロセス全体が遅くなる可能性があると聞きました。スワップファイルはメイン ディスクから実行されるため、上記の行を次のように変更する必要があるかどうか疑問に思いました。
UUID=xx9999x9-9x99-9xx9-9999-xx9x9xx99xx9/swapfile none swap sw 0 0
UUID はハードディスクです。パーティション分割は使用しませんでした。
Systemd-analyze blame を実行すると、次の出力が得られます。
systemd-analyze blame | head
17.041s dev-sda1.device
11.192s dev-loop9.device
11.056s dev-loop16.device
10.964s dev-loop14.device
10.704s dev-loop6.device
10.703s dev-loop1.device
10.703s dev-loop7.device
10.703s dev-loop2.device
10.702s dev-loop4.device
10.687s dev-loop13.device
使用後はsudo apt-get purge snapd
以下のようになります。
systemd-analyze blame | head
7.902s dev-sda1.device
7.152s NetworkManager-wait-online.service
5.121s ufw.service
4.792s systemd-udevd.service
4.539s docker.service
4.298s accounts-daemon.service
4.152s systemd-journal-flush.service
3.970s apparmor.service
3.808s avahi-daemon.service
3.751s bluetooth.service
コマンドはsudo blkid
1行を返します(IDは匿名化しました)。以前は、多くの行がありました /dev/loopX: TYPE="squashfs"
/dev/sda1: UUID="xx9999x9-9x99-9xx9-9999-xx9x9xx99xx9" TYPE="ext4" PARTUUID="9999xx999-01"
Disks
パラメータのスクリーンショット:
syslogの出力:
grep -i FPDMA /var/log/syslog*
[ 48.245514] ata6.00: failed command: READ FPDMA QUEUED
[ 48.247916] ata6.00: failed command: READ FPDMA QUEUED
[ 48.250316] ata6.00: failed command: READ FPDMA QUEUED
[ 48.252774] ata6.00: failed command: READ FPDMA QUEUED
以下は Gparted のスクリーンショットです。
もう一つの観察: コンピュータを起動すると、画面が 5 ~ 10 分間真っ黒のままになります。その後、長い待ち時間の後、ラップトップ マークのタイトル画面が表示されます。そこからはすべてスムーズに実行されているようです。起動中に何か問題が発生している可能性があるので、これをお伝えしたいと思いました。以前このシステムでデュアル ブートを実行し、最近 Windows 7 を削除したので、ブート ローダー (Grub) が壊れている可能性があるのではないかと考えました。
ファイルシステムテーブル
sudo cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=ae2158a5-6f28-4da8-8082-cc6d6bb20ed2 / ext4 errors=remount-ro 0 1
/swapfile none swap sw 0 0
sudo blkid
/dev/sda1: UUID="ae2158a5-6f28-4da8-8082-cc6d6bb20ed2" TYPE="ext4" PARTUUID="630bb523-01"
BIOSバージョン
sudo dmidecode -s bios-version
1.03.05
マザーボード情報:
TUXEDO Book DC1504
Model: W650SJ
Clevo CO
sudo dmidecode -t 2
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
Manufacturer: Notebook
Product Name: W65_67SJ
Version: Not Applicable
Serial Number: Not Applicable
Asset Tag: Tag 12345
Features:
Board is a hosting board
Board is replaceable
Location In Chassis: Not Applicable
Chassis Handle: 0x0003
Type: Motherboard
Contained Object Handles: 0
Ubuntu 18.04.5 LTS を実行しています。
グラブ
このコマンドのdpkg -l grub* | grep ii
出力は次のようになります。
ii grub-common 2.02-2ubuntu8.18 amd64 GRand Unified Bootloader (common files)
ii grub-gfxpayload-lists 0.7 amd64 GRUB gfxpayload blacklist
ii grub-pc 2.02-2ubuntu8.18 amd64 GRand Unified Bootloader, version 2 (PC/BIOS version)
ii grub-pc-bin 2.02-2ubuntu8.18 amd64 GRand Unified Bootloader, version 2 (PC/BIOS binaries)
ii grub2-common 2.02-2ubuntu8.18 amd64 GRand Unified Bootloader (common files for version 2)
助けてくれてありがとう!
答え1
おそらく、/swapfile を「編集」したときに間違いを犯したのでしょう。
「スワップファイルを編集してから始まったようです」
「/swapfile はディレクトリまたは通常のファイルです」
の正しい4G の /swapfile を作成/サイズ変更するプロセス...
注記:dd
コマンドを誤って使用するとデータが失われる可能性があります。コピー/貼り付けをお勧めします。
sudo swapoff -a # turn off swap
sudo rm -i /swapfile # remove old /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo chmod 600 /swapfile # set proper file protections
sudo mkswap /swapfile # init /swapfile
sudo swapon /swapfile # turn on swap
free -h # confirm nnG RAM and 4G swap
/etc/fstab のこの行を確認し、他の「スワップ」行がないことを確認します...
/swapfile none swap sw 0 0
reboot # reboot and verify operation
アップデート#1:
ディスクに NCQ エラーがいくつかあります。
ネイティブ コマンド キューイング (NCQ) は、シリアル ATA プロトコルの拡張機能であり、ハード ディスク ドライブが受信した読み取りコマンドと書き込みコマンドの実行順序を内部的に最適化できるようにします。
sudo -H gedit /etc/default/grub
次の行を編集して、この追加パラメータを含めます。次に、sudo update-grub
変更をディスクに書き込みます。再起動します。ハングしているかどうかを監視し、エラー メッセージが続くかどうかを確認し/var/log/syslog
ますdmesg
。
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.force=noncq"
これで問題が解決しない場合は、再度ディスクを不良ブロックします。
アップデート#2:
まだ問題が解決していないため、起動時間が遅い問題を解決するためにこれを実行します。
/etc/default/grub を編集します。
この行を変更します:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.force=noncq"
これに:
GRUB_CMDLINE_LINUX_DEFAULT="libata.force=noncq"
それから:
sudo update-grub
reboot
これで、再起動中に画面に多くのテキストが表示されます。停止または一時停止した場合は、画面の最後の項目から何が問題なのかがわかります。その鮮明な写真を撮って質問にアップロードし、私に連絡してください。
SMART データには不良ブロックの問題は表示されません。読み取りエラーが多数表示されていますが、NCQ パッチで解決されている可能性があります。
アップデート#3:
注記: 問題が発生した場合に備えて、適切なバックアップを用意しておく必要があります。
RAM ディスクを更新し、GRUB を再インストールします。
ls -al /boot/initrd*
# これらのファイルのサイズに注意してください
sudo update-initramfs -c -k $(uname -r)
# RAMディスクファイルを再作成する
ls -al /boot/initrd*
# ファイルサイズが変更されたかどうかを確認します
reboot
# 起動が速くなったか確認してみましょう
dpkg -l grub* | grep ii
# 現在インストールされている grub ファイル パッケージを表示します
sudo apt install --reinstall package_name_here
# 上記の各GRUBパッケージについて
sudo update-grub
# GRUB を更新する
reboot
# 起動が速くなったか確認してみましょう
アップデート#4:
新しいBIOSを確認するには、次の場所でユーザーアカウントを作成する必要があります。https://www.tuxedocomputers.com/index.php?module=account
Tuxedoサポートに連絡するには、電話:+4982189982992、または電子メール:https://www.tuxedocomputers.com/en/Contact.tuxedo