我最近开始注意到blk_update_request: I/O error, dev fd0, sector 0
我用作服务器的第二台运行 Arch Linux 的计算机上出现了一些错误。当我搬进新公寓时不得不重新启动计算机时,就开始了这种情况。我有以下/etc/fstab
配置:
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
#UUID=94880e53-c4d3-4d4d-a217-84c9ac58f4fd
/dev/sda1 / ext4 rw,relatime,data=ordered 0 1
#UUID=c1245aca-bbf7-4813-8c25-10bd0d95631e
/dev/sda2 none swap defaults 0 0
#UUID=94880e53-c4d3-4d4d-a217-84c9ac58f4fd
/dev/sdb1 /media/marcel/videos auto rw,user,auto 0 0
因此,我的主硬盘被安装到,/
而我的外部硬盘被安装到/media/marcel/videos
。问题是,重新启动后,我的外部驱动器得到了/dev/sda
,而我的内部驱动器得到了/dev/sdb
。据我所知,计算机启动得很好,直到我查看/media/marcel/videos
哪个是/
.现在我已经拔掉了外部驱动器,我只是想对我的主驱动器进行故障排除。
相关dmesg
:
ACPI Error: [CAPB] Namespace lookup failure, AE_ALREADY_EXISTS (20160108/dsfield-211)
ACPI Error: Method parse/execution failed [\_SB.PCI0._OSC] (Node ffff88007b891708), AE_ALREADY_EXISTS (20160108/psparse-542)
blk_update_request: I/O error, dev fd0, sector 0
floppy: error -5 while reading block 0
ACPI Exception: AE_NOT_FOUND, Evaluating _DOD (20160108/video-1248)
ACPI Warning: SystemIO range 0x0000000000001028-0x000000000000102F conflicts with OpRegion 0x0000000000001028-0x0000000000001047 (\_SB.PCI0.IEIT.EITR) (20160108/utaddress-255)
ACPI Warning: SystemIO range 0x0000000000001028-0x000000000000102F conflicts with OpRegion 0x0000000000001000-0x000000000000102F (\_SB.PCI0.LPC0.PMIO) (20160108/utaddress-255)
ACPI Warning: SystemIO range 0x0000000000001180-0x00000000000011AF conflicts with OpRegion 0x0000000000001180-0x00000000000011AF (\_SB.PCI0.LPC0.GPOX) (20160108/utaddress-255)
blk_update_request: I/O error, dev fd0, sector 0
floppy: error -5 while reading block 0
blk_update_request: I/O error, dev fd0, sector 0
floppy: error -5 while reading block 0
blk_update_request: I/O error, dev fd0, sector 0
floppy: error -5 while reading block 0
fdisk -l
(每当我运行时fdisk -l
,我都会blk_update_request
再次收到错误):
Disk /dev/sda: 149.1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0007ee23
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 311609343 311607296 148.6G 83 Linux
/dev/sda2 311609344 312581807 972464 474.9M 82 Linux swap / Solaris
uname -a
:
Linux nas 4.5.3-1-ARCH #1 SMP PREEMPT Sat May 7 20:43:57 CEST 2016 x86_64 GNU/Linux
这是一个严重的问题还是可以忽略的问题?
编辑1:
lsmod
:
Module Size Used by
cfg80211 491520 0
rfkill 20480 2 cfg80211
coretemp 16384 0
kvm_intel 180224 0
psmouse 118784 0
kvm 491520 1 kvm_intel
irqbypass 16384 1 kvm
serio_raw 16384 0
snd_hda_codec_analog 16384 1
iTCO_wdt 16384 0
snd_hda_codec_generic 69632 1 snd_hda_codec_analog
iTCO_vendor_support 16384 1 iTCO_wdt
gpio_ich 16384 0
input_leds 16384 0
ppdev 20480 0
led_class 16384 1 input_leds
pcspkr 16384 0
evdev 24576 3
joydev 20480 0
mac_hid 16384 0
snd_hda_intel 32768 0
snd_hda_codec 106496 3 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec_analog
i2c_i801 20480 0
snd_hda_core 49152 4 snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_hda_codec_analog
lpc_ich 24576 0
snd_hwdep 16384 1 snd_hda_codec
snd_pcm 86016 3 snd_hda_codec,snd_hda_intel,snd_hda_core
mei_me 32768 0
i915 1155072 1
mei 81920 1 mei_me
snd_timer 28672 1 snd_pcm
snd 65536 7 snd_hwdep,snd_timer,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_hda_codec_analog
intel_agp 20480 0
soundcore 16384 1 snd
fjes 28672 0
drm_kms_helper 106496 1 i915
e1000e 217088 0
drm 290816 3 i915,drm_kms_helper
parport_pc 28672 0
ptp 20480 1 e1000e
parport 40960 2 ppdev,parport_pc
pps_core 20480 1 ptp
button 16384 1 i915
video 36864 1 i915
intel_gtt 20480 3 i915,intel_agp
acpi_cpufreq 20480 1
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
i2c_algo_bit 16384 1 i915
tpm_tis 20480 0
tpm 36864 1 tpm_tis
processor 32768 1 acpi_cpufreq
sch_fq_codel 20480 2
ip_tables 28672 0
x_tables 28672 1 ip_tables
ext4 516096 1
crc16 16384 1 ext4
mbcache 20480 1 ext4
jbd2 94208 1 ext4
sr_mod 24576 0
cdrom 49152 1 sr_mod
sd_mod 36864 3
hid_generic 16384 0
usbhid 45056 0
hid 114688 2 hid_generic,usbhid
atkbd 24576 0
libps2 16384 2 atkbd,psmouse
ata_piix 36864 2
ehci_pci 16384 0
floppy 69632 0
ata_generic 16384 0
pata_acpi 16384 0
i8042 24576 1 libps2
serio 20480 6 serio_raw,atkbd,i8042,psmouse
uhci_hcd 40960 0
libata 196608 3 pata_acpi,ata_generic,ata_piix
ehci_hcd 69632 1 ehci_pci
usbcore 196608 4 uhci_hcd,ehci_hcd,ehci_pci,usbhid
usb_common 16384 1 usbcore
scsi_mod 151552 3 libata,sd_mod,sr_mod
答案1
似乎内核错误地将某些设备检测为软盘,或者只是创建了一个不存在的引用,因为您的计算机没有真正的软盘驱动器。blk_update_request
所以这些fd0
与你的硬盘完全无关。许多磁盘管理程序(例如,fdisk
喜欢枚举所有可用的块设备),并且确实fdisk
命中了软盘模块,并且这些消息开始出现在您的 dmesg 中。
由于您的计算机没有软盘驱动器,因此鼓励删除floppy
内核模块并将其列入黑名单是安全的,这样将来就不会打扰您:
sudo rmmod floppy
echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf
然后添加/etc/modprobe.d/blacklist-floppy.conf
到/etc/mkinitcpio.conf
FILES 变量,这样mkinitcpio -p linux
initramfs 也不会加载它。
因此,下次重新启动后,它就不会出现并扰乱您的稳定配置。
答案2
使用以下命令肯定会解决问题:
# sudo rmmod floppy
# echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf
# update-initramfs -u -k all
重启...
答案3
我已经摆弄和愚弄它很长一段时间了。一个短的和一个长的解决方案。
这是短篇
首先看看你的系统表文件没问题,尤其是你的交换文件。
比运行:
sudo update-initramfs -u
你的问题应该结束了。
长版
别人写的很长的版本,我没有注意到。 (对不起大家!)
尝试:
用于
blkid
确定UUID
交换分区的 ,并确保所有其他分区的UUID
中都有正确的/etc/fstab
。也可以用来lsblk -f
查找 的UUID
。针对此错误,将正确的
UUID
' 放入/etc/fstab
,尤其是 swap 中。将正确的
UUID
交换放入/etc/initramfs-tools/conf.d/resume
.跑步
sudo update-initramfs -u
重启。修复了我的 Stretch all 三次启动时出现的此错误,因为交换文件已更改。
长版本的说明
问题是由于我的交换被加密了。因此local-premount
initramfs 中的脚本一直在等待不可用的交换设备,直到超时。相关消息被放弃等待挂起/恢复设备。
要禁用此功能(因为使用加密交换不可能从交换恢复,而且我无论如何也不使用休眠),我修改了此文件:/etc/initramfs-tools/conf.d/resume
.
在此文件中,一行包含
RESUME=none
(而不是此处的 UUID)将禁用等待恢复设备。
运行
sudo update-initramfs -u
以应用更改。现在系统可以正常启动了。
伯特
答案4
尝试这个: http://forums.debian.net/viewtopic.php?t=133253
它解决了这个错误,在我的情况下,这显然不是软盘初始化错误,而不是新的分区 UUID(如交换分区的新 UUID)。
顺便说一句:没有必要将 /boot/grub/grub.cfg 从“root=UUID=”更改为“root=/dev/sd??”。