針對 Ubuntu 及衍生版常見棘手問題,提供經實測可行的解決步驟。涵蓋權限恢復、啟動修復、雙系統共存、硬體相容等高頻場景。
mount -o remount,rw //dev/sda2 為根分區,/dev/sda1 為 EFI):sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi # UEFI 系統
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
現在已在目標系統 root 環境,可執行修復指令。
linux /boot/vmlinuz-... root=UUID=... ro quiet splashro 改為 rw,尾端加 init=/bin/bashmount -o remount,rw / 並修復問題在上述 root 環境下:
passwd root # 重設 root 密碼
passwd your_username # 重設一般用戶密碼
Ubuntu 預設鎖定 root 帳號,日常用 sudo。若需啟用 root:sudo passwd root 後 sudo usermod -U root。
# 產生密碼雜湊
grub-mkpasswd-pbkdf2
# 輸入密碼兩次,複製輸出的 grub.pbkdf2.sha512.xxxxx
# 編輯 /etc/grub.d/40_custom
cat <> /etc/grub.d/40_custom
set superusers="admin"
password_pbkdf2 admin grub.pbkdf2.sha512.xxxxx
EOF
chmod +x /etc/grub.d/40_custom
update-grub
使用 Live USB chroot 環境(同方法 1B):
# BIOS/MBR
grub-install /dev/sda
update-grub
# UEFI
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
update-grub
若進入 GRUB 救援模式(grub> 提示符):
ls # 找到 (hd0,gpt2)/boot/grub
set prefix=(hd0,gpt2)/boot/grub
set root=(hd0,gpt2)
insmod normal
normal
# 進入選單後再執行上述 grub-install
wsl --mount \\.\PHYSICALDRIVE2 --partition 1 --type ext4 掛載實體磁碟分區VBoxManage internalcommands createrawvmdk)systemd-analyze blame # 依耗時排序
systemd-analyze critical-chain # 關鍵路徑
systemctl disable ntpdate.service # 停用不需服務
systemctl mask snapd.seeded.service # 完全禁用(防被相依喚醒)
常見慢速服務:NetworkManager-wait-online、snapd、plymouth-quit-wait、fwupd-refresh。
timedatectl set-local-rtc 1 --adjust-system-clock
# 硬體時鐘改用本地時間,相容 Windows
# 驗證
timedatectl status | grep "RTC in local TZ"
或編輯 /etc/adjtime 第三行改為 LOCAL(舊版相容)。
Flash 已死(2020 EOL)。現代網頁音訊由 PipeWire/PulseAudio 處理:
# 重啟音訊服務
systemctl --user restart pipewire pipewire-pulse wireplumber
# 或 PulseAudio
pulseaudio -k && pulseaudio --start
# 檢查裝置
pactl list short sinks
pavucontrol # 圖形化切換輸出裝置
# 使用者垃圾桶
rm -rf ~/.local/share/Trash/files/*
rm -rf ~/.local/share/Trash/info/*
# 根分區外掛磁碟垃圾桶 (需 root)
rm -rf /media/$USER/*/.Trash-$UID/files/*
rm -rf /media/$USER/*/.Trash-$UID/info/*
# 權限問題
sudo chown -R $USER:$USER ~/.local/share/Trash
| 場景 | 指令 |
|---|---|
| 檔案系統修復 | fsck -f /dev/sda2 (需卸載或唯讀掛載) |
| 套件修復 | dpkg --configure -a && apt -f install |
| initramfs 重建 | update-initramfs -u -k all |
| GRUB 重建 | update-grub / grub-install ... |
| Locale 修復 | locale-gen zh_TW.UTF-8 && update-locale |
| 鍵盤配置 | dpkg-reconfigure keyboard-configuration |
建議:重大變更前用 Timeshift/rsync/Btrfs 快照備份,問題發生可秒級回滾。