얼마 전부터 Linux Ubuntu 18.04가 매우 느리게 부팅되는 문제가 발생했습니다(때때로 5-10분). 이상하게도 이것은 Swapfile을 편집하거나 Gparted를 사용한 이후부터 시작된 것 같습니다. 명령 top
과 swapon -s
명령은 Swapfile이 작동 중임을 보여줍니다(4GB를 예약했습니다).
그러나 다음 명령은 이상한 점을 보여주었습니다.
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
한 줄을 제공합니다(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
/swap 파일을 "편집"할 때 실수를 했을 수도 있습니다.
"스왑파일을 편집한 이후부터 시작된 것 같습니다."
"/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(Native Command Queuing)는 하드 디스크 드라이브가 수신된 읽기 및 쓰기 명령이 실행되는 순서를 내부적으로 최적화할 수 있도록 하는 직렬 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.conf를 편집하세요.
이 줄을 변경하십시오 :
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.force=noncq"
이에:
GRUB_CMDLINE_LINUX_DEFAULT="libata.force=noncq"
그 다음에:
sudo update-grub
reboot
이제 재부팅하는 동안 화면에 많은 텍스트가 표시됩니다. 멈추거나 일시 중지되면 화면의 마지막 항목을 통해 무엇이 잘못되었는지에 대한 단서를 얻을 수 있습니다. 선명한 사진을 찍어 질문에 업로드한 다음 저에게 핑을 보내세요.
SMART 데이터에는 불량 블록 문제가 표시되지 않습니다. NCQ 패치가 처리했을 수 있는 많은 읽기 오류를 표시합니다.
업데이트 #3:
메모: 문제가 발생할 경우를 대비해 백업이 잘 되어 있어야 합니다.
램디스크를 업데이트하고 GRUB를 다시 설치해 드리겠습니다.
ls -al /boot/initrd*
# 이 파일의 크기를 기록해 두세요
sudo update-initramfs -c -k $(uname -r)
# 램디스크 파일을 다시 생성
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 지원팀에 문의하려면 tel:+4982189982992로 전화하고 다음 주소로 이메일을 보내세요.https://www.tuxedocomputers.com/en/Contact.tuxedo