Ubuntu 20.04 外接硬盘运行故障求助
Ubuntu 20.04 外接硬盘运行故障求助
老哥你遇到的这个问题我之前帮朋友踩过好几次坑,外接硬盘跑Ubuntu确实容易因为供电、连接或者系统设置的问题出现中途卡死/崩溃的情况,咱们一步步来排查解决:
一、先从最容易排查的硬件问题入手
- 换个主板原生的USB3.0/3.1接口!别用机箱前置面板的接口,很多前置接口电压不稳,长时间高负载后供电跟不上就会导致硬盘IO中断
- 换一根带屏蔽层的粗USB线!那种细得像数据线的廉价线,传输大文件时很容易丢包,用久了直接断连
- 如果是2.5寸的外接硬盘,试试换个带独立供电的硬盘盒,单USB口的供电有时候扛不住Ubuntu后台的持续IO操作,电压掉了系统直接卡成狗
二、检查硬盘健康与文件系统
- 趁系统还能正常启动的时候,打开终端先确认硬盘设备名(别搞错了!):
lsblk,找到你的外接硬盘(比如/dev/sdb) - 跑SMART检查硬盘健康:
sudo smartctl -a /dev/sdb,重点看Reallocated_Sector_Ct和Current_Pending_Sector这两个数值,如果大于0,说明硬盘已经有坏道了,这时候优先考虑换硬盘 - 修复文件系统错误:如果系统还能进单用户模式,或者用Ubuntu Live U盘启动,跑
sudo fsck /dev/sdb1(把sdb1换成你的根分区),修复过程中提示的选项都选y就行
三、调整系统设置适配外接硬盘
- 禁用USB自动休眠:外接硬盘很容易被系统误判为可移除设备自动休眠,编辑
/etc/default/grub,把GRUB_CMDLINE_LINUX_DEFAULT改成"quiet splash usbcore.autosuspend=-1",然后跑sudo update-grub重启生效 - 优化IO调度器:外接硬盘用
deadline调度器比默认的cfq更稳定,终端临时生效:echo deadline | sudo tee /sys/block/sdb/queue/scheduler,要持久化的话就把这条命令加到/etc/rc.local里(记得给rc.local加执行权限:sudo chmod +x /etc/rc.local) - 调整挂载参数:编辑
/etc/fstab,找到根分区的挂载行,加上noatime,nodiratime,errors=remount-ro,减少不必要的磁盘读写,出错时自动只读挂载避免损坏文件系统
四、终极备选方案
如果以上方法都试过还是不稳定,可能是硬盘盒的芯片和Ubuntu兼容性不好,换个带ASM/JMS芯片的口碑硬盘盒试试;或者可以把Ubuntu做成持久化Live系统,虽然存储性能会稍差,但稳定性会比直接安装在外接硬盘上高很多
备注:内容来源于stack exchange,提问作者Alejandro Ortega
相关产品推荐
相关产品推荐

