I recently started noticing some blk_update_request: I/O error, dev fd0, sector 0
errors on my second computer running Arch Linux that I use as a server. This began when I had to reboot the computer when I moved into a new apartment. I had the following /etc/fstab
configuration:
#
# /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
So my main hdd gets mounted to /
and my external hdd get mounted to /media/marcel/videos
. The problem is that after the reboot, my external drive got /dev/sda
and my internal drive got /dev/sdb
. The computer booted fine as far as I could tell until I looked into /media/marcel/videos
which was a clone of /
. Now I have the external drive unplugged and I am just trying to troubleshoot my main drive.
Relavent 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
(whenever I run fdisk -l
, I get the blk_update_request
error again):
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
Is this a serious issue or something that can be ignored?
Edit 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
First off: It is NOT your fault. It just shows that updates, without backups, are dangerous on ANY OS and no matter how often it worked before.
I had exactly the same problem today on Debian 9.
A whole ext3 RAID1 «vanished» after kernel was updated from:
linux-image-4.9.0-11-amd64 4.9.189-3+deb9u2
to
linux-image-4.9.0-12-amd64 4.9.210-1
list all installed kernels
dpkg --list | grep linux-image
ii linux-image-4.9.0-11-amd64 4.9.189-3+deb9u2 amd64 Linux 4.9 for 64-bit PCs
ii linux-image-4.9.0-12-amd64 4.9.210-1 amd64 Linux 4.9 for 64-bit PCs
rc linux-image-4.9.0-6-amd64 4.9.88-1+deb9u1 amd64 Linux 4.9 for 64-bit PCs
rc linux-image-4.9.0-8-amd64 4.9.144-3.1 amd64 Linux 4.9 for 64-bit PCs
ii linux-image-4.9.0-9-amd64 4.9.168-1+deb9u3 amd64 Linux 4.9 for 64-bit PCs
ii linux-image-amd64 4.9+80+deb9u10 amd64 Linux for 64-bit PCs (meta-package)
hostnamectl; # os used
Static hostname: storagepc
Icon name: computer-desktop
Chassis: desktop
Operating System: Debian GNU/Linux 9 (stretch)
Kernel: Linux 4.9.0-12-amd64
Architecture: x86-64
Those are the kind of «heart attack» moments X-D
Let’s try to stay cool!
«solution»: boot previous kernel ( in this case: linux-image-4.9.0-11-amd64 )
vim /etc/default/grub
GRUB_TIMEOUT=3 <- make sure a timeout larger than 0 is defined (or no time to select any options during boot)
# let grub2 do its stuff
update-grub
# is the same as:
uupdate-grub2
# reboot the system (if USB keyboard is not reacting during grub boot screen, try PS2 keyboard)
reboot
# when grub boot screen appears
After booting linux-image-4.9.0-11-amd64 kernel, can access ext3 RAID1 AGAIN!
Problem: grub won’t remember that choice.
To make this permanent:
vim /etc/default/grub
# during boot:
## select in the first menu the second (0,1) entry
#### then select in the second menu select the 3rd entry (0,1,2)
GRUB_DEFAULT="1>2"
# make grub2 realize the changes
update-grub
… yes it is confusing I know X-D
this is what it was supposed to look like
Have two RAID1 defined.
# show status of raid
cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md126 : active raid1 sdc1[1] sdb1[0]
3906886464 blocks super 1.2 [2/2] [UU]
bitmap: 0/30 pages [0KB], 65536KB chunk
md127 : active raid1 sde1[0] sdd1[2]
1953381376 blocks super 1.2 [2/2] [UU]
bitmap: 0/15 pages [0KB], 65536KB chunk
# show what is mounted
mount
/dev/md126 on /media/user/ext4RAID1 type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/md127 on /media/user/ext3RAID1 type ext3 (rw,relatime,data=ordered)
# show block devices
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 230.8G 0 part /
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 7.7G 0 part [SWAP]
sdb 8:16 0 3.7T 0 disk
└─sdb1 8:17 0 3.7T 0 part
└─md126 9:126 0 3.7T 0 raid1 /media/user/ext4RAID1
sdc 8:32 0 3.7T 0 disk
└─sdc1 8:33 0 3.7T 0 part
└─md126 9:126 0 3.7T 0 raid1 /media/user/ext4RAID1
sdd 8:48 0 1.8T 0 disk
└─sdd1 8:49 0 1.8T 0 part
└─md127 9:127 0 1.8T 0 raid1 /media/user/ext3RAID1
sde 8:64 0 1.8T 0 disk
└─sde1 8:65 0 1.8T 0 part
└─md127 9:127 0 1.8T 0 raid1 /media/user/ext3RAID1
sr0 11:0 1 1024M 0 rom
# find defined raids
mdadm --examine --scan
ARRAY /dev/md/2 metadata=1.2 UUID=90642755:fa191325:0fe4ec59:2456c645 name=storagepc:2
ARRAY /dev/md/1 metadata=1.2 UUID=433fb7e1:9d7f3f17:bc5ee18b:0f4eeb52 name=storagepc:1
# show UUIDS
blkid /dev/sdb1
/dev/sdb1: UUID="90642755-fa19-1325-0fe4-ec592456c645" UUID_SUB="bee458e0-509a-c110-b577-8a1ddbe6bbb3" LABEL="storagepc:2" TYPE="linux_raid_member" PARTUUID="1fd02041-9dd2-4918-83a3-c8bafbab3bed"
blkid /dev/sdc1
/dev/sdc1: UUID="90642755-fa19-1325-0fe4-ec592456c645" UUID_SUB="7d5947f8-1ba0-0c7b-18a7-194ab4051a2c" LABEL="storagepc:2" TYPE="linux_raid_member" PARTUUID="5e4ea781-68e5-43f0-accf-26342aeb4daa"
userblkid /dev/sdd1
/dev/sdd1: UUID="433fb7e1-9d7f-3f17-bc5e-e18b0f4eeb52" UUID_SUB="bed17780-3817-27c9-6336-44d4aedfb857" LABEL="storagepc:1" TYPE="linux_raid_member" PARTUUID="f6aab6c2-01"
userblkid /dev/sde1
/dev/sde1: UUID="433fb7e1-9d7f-3f17-bc5e-e18b0f4eeb52" UUID_SUB="eb90b361-94d6-2f38-7727-d386097dce81" LABEL="storagepc:1" TYPE="linux_raid_member" PARTUUID="d2fd127f-01"
regular filesystem checks
Has nothing to do with the problem but defining this via tune2fs
has the advantage, that it will automatically be performed during boot.
tune2fs -C 2 -c 1 /dev/sda1; # check filesystem on every boot (for ext3 takes rather long X-D)
tune2fs -c 10 -i 30 /dev/sda1; # check sda1 every 10 mounts or after 30 days
В консоль виртуальной машины посыпалась ошибка:
blk_update_request: I/O error, dev fd0, sector 0
Как пишут в Интернете, ошибка встречается и в Debian дистрибутивах, Ubuntu, Red Hat, Oracle Linux. Есть несколько рекомендации.
Первая, отсоединить флоппи-дисковод или отключить его в BIOS, перезагрузиться. У меня на виртуалке он и правда есть, потом попробую удалить.
Вторая:
rmmod floppy
vim /etc/modprobe.d/blacklist.conf
# в конце дописываем:
blacklist floppy
update-initramfs -u
reboot
Второй способ предлагают для Ubuntu. Для других Linux — не могу гарантировать работоспособность. Сам пока проверить не могу, нет возможности перезагрузить сервер.
Третья:
rmmod floppy
echo "blacklist floppy" | tee /etc/modprobe.d/blacklist-floppy.conf
dpkg-reconfigure initramfs-tools
reboot
Отпишитесь в комментариях кому что помогло. Я тоже проверю, когда руки дойдут.
When booting Linux on the hardware with the floppy drive controller turned on, the following prompt will appear:
blk_update_request: I/O error, dev fd0, sector 0
<strong>When dmesg, the following message appears indicating a problem with the disk</strong><br><br>Info fld=0x139066d0
end_request: I/O error, dev sda, sector 328230608
Buffer I/O error
on
device sda, logical block 41028826
sd 0:0:0:0: SCSI error:
return
code = 0x08000002
sda: Current: sense key: Medium Error
Add. Sense: Unrecovered read error
Info fld=0x139066d0
end_request: I/O error, dev sda, sector 328230608
Buffer I/O error
on
device sda, logical block 41028826
sd 0:0:0:0: SCSI error:
return
code = 0x08000002
sda: Current: sense key: Medium Error
Add. Sense: Unrecovered read error
Info fld=0x139066d0
end_request: I/O error, dev sda, sector 328230608
Buffer I/O error
on
device sda, logical block 41028826
sd 0:0:0:0: SCSI error:
return
code = 0x08000002
sda: Current: sense key: Medium Error
Add. Sense: Unrecovered read error
Info fld=0x139066d0
end_request: I/O error, dev sda, sector 328230608
Buffer I/O error
on
device sda, logical block 41028826
sd 0:0:0:0: SCSI error:
return
code = 0x08000002
sda: Current: sense key: Medium Error
Add. Sense: Unrecovered read error
1. First detect the failure
[[email protected] ~]# badblocks -s -v -o /root/badblocks.log /dev/sda
Checking blocks 0 to 586061784
Checking for bad blocks (read-only test): done
Pass completed, 173 bad blocks found.
smartctl -a /dev/sda3 (Quickly detect bad sectors on the hard disk, see if there are errors behind read and write)
2. Logic bad sectors repair method
①, badblocks -s -w /dev/sda END START (END represents the end of the sector that needs to be repaired, START represents the beginning of the sector that needs to be repaired)
②, fsck -a /dev/sda
After repairing, use badblocks -s -v -o /root/bb.log /dev/sda to monitor whether there are any bad sectors. If the bad sectors still exist, it means that the bad sectors are hard disk bad sectors. The hard disk bad sectors should be isolated. Firstly, record the detected bad sectors of the hard disk and then divide the sectors where the hard disk bad sectors are located in a partition (the size is generally larger than the size of the bad sector), and the divided bad sector partitions are not used. Can achieve the purpose of isolation
3. 0 bad track and hard drive (ready to change hard drive)
The repair method for bad tracks of track 0 is to isolate track 0, and when using fdsk to divide the area, start dividing the area from track 1.
Hi,
I experienced the similar issue.
Redhat VM is in VMware vSphere 6.0 environment.
This is noticeable fact that fd0 (Floppy disk) is not a device attached to this VM. It observed that VMtools were not installed on this machine.
suspended logs shared with Redhat support , however they also could not identify root cause in previous cases.
The only extra information this time is ESXi host get disconnected from vCenter for a while. But why only one VM impacted out of ~150, is still a question.
Link of RedHat community on same
blk_update_request I/O error, dev sde, sector 0 — Red Hat Customer Portal
Another aspect
https://unix.stackexchange.com/questions/282845/blk-update-request-i-o-error-dev-fd0-sector-0
Your device doesn’t have a floppy drive, but the floppy driver module is installed, so you have /dev/fd0, and many things will try to use it.
sudo rmmod floppy echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf sudo dpkg-reconfigure initramfs-tools
Hope this will help, will update once get more info.
regards
PS: Mark kudos or correct answer as appropriate