J'ai récemment commencé à remarquer blk_update_request: I/O error, dev fd0, sector 0
des erreurs sur mon deuxième ordinateur exécutant Arch Linux que j'utilise comme serveur. Cela a commencé lorsque j'ai dû redémarrer l'ordinateur lorsque j'ai emménagé dans un nouvel appartement. J'ai eu ce qui suit /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
Donc mon disque dur principal est monté sur /
et mon disque dur externe sont montés sur /media/marcel/videos
. Le problème est qu'après le redémarrage, mon lecteur externe a obtenu /dev/sda
et mon disque dur interne a /dev/sdb
. L'ordinateur a bien démarré pour autant que je sache jusqu'à ce que j'examine /media/marcel/videos
qui était un clone de /
. Maintenant, j'ai le disque externe débranché et j'essaie simplement de dépanner mon disque principal.
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
(chaque fois que je lance fdisk -l
, Je reçois le blk_update_request
erreur à nouveau):
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
Est-ce un problème grave ou quelque chose qui peut être ignoré?
Modifier 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
Il semble que le noyau ait détecté par erreur certains périphériques comme des disquettes ou simplement créé une référence inexistante car votre machine n'a pas de véritable lecteur de disquettes. Donc, ces blk_update_request
pour fd0
sont totalement indépendants de vos disques durs. De nombreux programmes de gestion de disque tels que fdisk
aiment énumérer tous les périphériques de bloc disponibles, et certainement fdisk
a touché le module de disquette et ces messages ont commencé à apparaître dans votre dmesg.
Puisque votre machine n'a pas de lecteur de disquette, il est sûr et encouragé de supprimer et de mettre sur liste noire le module du noyau floppy
afin qu'il ne vous dérange pas à l'avenir:
Sudo rmmod floppy
echo "blacklist floppy" | Sudo tee /etc/modprobe.d/blacklist-floppy.conf
puis ajouter /etc/modprobe.d/blacklist-floppy.conf
à /etc/mkinitcpio.conf
FILES variable et faire mkinitcpio -p linux
donc initramfs ne le chargera pas trop.
Donc, après le prochain redémarrage, il n'apparaîtra pas et gâchera votre configuration stable.
Essayez ceci: http://forums.debian.net/viewtopic.php?t=13325
Il résout ce bogue qui n'était évidemment pas dans mon cas un bogue d'initialisation de disquette plutôt qu'un nouvel UUID de partition (comme un nouvel UUID pour la partition de swap).
Btw: Il n'est pas nécessaire de changer dans /boot/grub/grub.cfg de "root = UUID =" à "root =/dev/sd ??".
Utilisez la commande ci-dessous et cela résoudra le problème à coup sûr:
# Sudo rmmod floppy
# echo "blacklist floppy" | Sudo tee /etc/modprobe.d/blacklist-floppy.conf
# update-initramfs -u -k all
Redémarrer ...
J'ai été fidèle et farfelu avec ça pendant encore un peu de temps.
Une solution courte et longue.
Voici le court:
Sudo update-initramfs -
et vos problèmes devraient être terminés.
--- + ---
La version longue écrite par quelqu'un d'autre dont je n'ai pas pris note. (Désolé les gens!)
Essayer:
Utilisez blkid pour déterminer l'UUID de votre partition de swap, et pendant que vous y êtes, assurez-vous que toutes les autres partitions ont des UUID corrects dans/etc/fstab. Peut également utiliser lsblk -f pour trouver les UUID.
Mettez les UUID corrects dans/etc/fstab, surtout swap, pour cette erreur.
Mettez l'UUID correct pour l'échange dans /etc/initramfs-tools/conf.d/resume.
Exécutez Sudo update-initramfs -u
Redémarrez. Correction de mon triple démarrage de Stretch all avec cette erreur, car le fichier d'échange avait changé.
--- + ---
Le problème était dû au chiffrement de mon swap. Ainsi, le script local-premount dans initramfs attendait un périphérique d'échange qui n'était pas disponible, jusqu'à ce qu'il expire. Le message correspondant a été abandonné en attente de suspension/reprise du périphérique.
Pour désactiver cela (car la reprise du swap n'est pas possible avec un swap chiffré, et je n'utilise pas l'hibernation de toute façon), j'ai modifié ce fichier: /etc/initramfs-tools/conf.d/resume.
Dans ce fichier, une ligne avec
RESUME = none (au lieu de l'UUID qui était ici) désactivera l'attente d'un périphérique de reprise.
Courir
Sudo update-initramfs -u pour appliquer les modifications.
Le système démarre maintenant normalement.
--- + ---
Bert.