blk_update_request:I / O错误,dev fd0,扇区0


10

我最近开始注意到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
fd0并且floppy来自dmesg与hdds无关。如果您的计算机具有软盘驱动器,但您不使用它-最好将其删除。诸如此类的程序fdisk可能会在外部程序或库的帮助下询问所有相关的块设备。

那么您是说blk_update_request错误是由我的软盘驱动器引起的吗?如果是这样,那真的很奇怪,因为我什至没有软驱。
Marcel

您有fd0设备吗?ls -ld /dev/fd0

并发布您的lsmod

@silibnx添加了。
Marcel

Answers:


17

似乎内核错误地将某些设备检测为软盘,或者只是创建了一个不存在的引用,因为您的计算机没有真正的软盘驱动器。因此,这些blk_update_requestfd0完全无关的硬盘驱动器。许多磁盘管理程序,例如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.confFILES变量中,这样mkinitcpio -p linux做initramfs也不会加载它。

因此,在下次重新启动后,它将不会出现,并且不会破坏您的稳定配置。


1
我不得不添加/etc/modprobe.d/blacklist-floppy.conf/etc/mkinitcpio.conf,然后运行mkinitcpio -p linux得到改变持有。您可能要添加它。
马塞尔

是的,过去有过这个,忘了补充。

请注意,如果您的系统具有软盘控制器,则只有在尝试检测是否已连接驱动器时,它才会知道,并且它无法真正分辨出“空驱动器”和“无驱动器”之间的区别。这就是为什么如果没有驱动器,则必须将模块列入黑名单以消除错误。
珀金斯

1

试试这个:http : //forums.debian.net/viewtopic.php?t=133253

它解决了这个错误,在我看来,它显然不是软盘初始化错误,而不是新的分区UUID(如用于交换分区的新UUID)。

顺便说一句:不必在/boot/grub/grub.cfg中将“ root = UUID =“更改为“ root = / dev / sd ??”。


1

我一直在闲逛和鬼混,但是闲逛了一段时间。

一个简短的解决方案。

这是简短的一个:

  • 首先查看您的fstab文件是否正常,尤其是交换分区。-比跑步:

须藤更新initramfs -u

而且您的问题应该已经解决了。

--- +-

我没有注意到的其他人写的长版。(抱歉!)

尝试:

使用blkid来确定交换分区的UUID,并在此同时,确保所有其他分区在/ etc / fstab中都具有正确的UUID。也可以使用lsblk -f查找UUID。

针对此错误,将正确的UUID放入/ etc / fstab,尤其是swap。

将要交换的正确UUID放入/etc/initramfs-tools/conf.d/resume。

运行sudo update-initramfs -u

重启。修复了我的三次拉伸所有问题的拉伸,因为交换文件已更改。

--- +-

问题出在我的交换被加密了。因此,initramfs中的local-premount脚本正在等待不可用的交换设备,直到它超时。放弃了相关的消息等待挂起/恢复设备。

要禁用此功能(因为加密的交换不可能从交换中恢复,并且无论如何我都不使用休眠),我修改了这个文件:/etc/initramfs-tools/conf.d/resume。

在此文件中,

RESUME = none(代替此处的UUID)将禁止等待恢复设备。

sudo update-initramfs -u应用更改。

系统现在可以正常启动。

--- +-

伯特


1

使用以下命令,它将肯定会解决该问题:

# sudo rmmod floppy
# echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf
# update-initramfs -u -k all

重启...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.