blk_update_request: erreur d'E / S, dev fd0, secteur 0

10

J'ai récemment commencé à remarquer des blk_update_request: I/O error, dev fd0, sector 0erreurs 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'avais la /etc/fstabconfiguration suivante :

#
# /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 est monté sur /media/marcel/videos. Le problème est qu'après le redémarrage, mon disque externe a été récupéré /dev/sdaet mon disque interne a été récupéré /dev/sdb. L'ordinateur a bien démarré pour autant que je puisse en juger jusqu'à ce que j'examine /media/marcel/videosquel é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 cours fdisk -l, j'obtiens à blk_update_requestnouveau l' erreur):

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
Marcel
la source
1
fd0et floppyde dmesg ne sont pas liés aux disques durs. Si votre ordinateur est équipé d'un lecteur de disquette et que vous ne l'utilisez pas, mieux vaut le retirer. Des programmes tels que fdiskpeuvent demander à tous les périphériques de blocs pertinents à l'aide de programmes ou bibliothèques externes.
Alors, dites-vous que les blk_update_requesterreurs proviennent de mon lecteur de disquette? Si c'est le cas, c'est vraiment bizarre car je n'ai même pas de lecteur de disquette.
Marcel
Avez-vous un appareil FD0? ls -ld /dev/fd0
Et postez votre lsmods'il vous plaît
@siblynx ajouté.
Marcel

Réponses:

17

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. Ainsi , ceux - ci blk_update_requestpour fd0sont sans aucun rapport avec vos disques durs. De nombreux programmes de gestion de disque tels que fdiskcomme pour énumérer tous les périphériques de bloc disponibles, ont certainement fdisktouché 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 le floppymodule du noyau sur liste noire afin que cela ne vous dérange pas à l'avenir:

sudo rmmod floppy
echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf

puis ajoutez /etc/modprobe.d/blacklist-floppy.confà la /etc/mkinitcpio.confvariable FILES et faites- mkinitcpio -p linuxle initramfs ne le chargera pas trop.

Donc, après le prochain redémarrage, il n'apparaîtra pas et gâchera votre configuration stable.


la source
1
Je devais ajouter /etc/modprobe.d/blacklist-floppy.confà /etc/mkinitcpio.confpuis exécutez mkinitcpio -p linuxpour obtenir les changements à tenir. Vous voudrez peut-être ajouter cela.
Marcel
Oui, j'ai eu ça dans le passé et j'ai oublié d'ajouter.
Notez que si votre système a un contrôleur de disquette, il ne peut pas savoir jusqu'à ce qu'il essaie de détecter s'il y a un lecteur connecté, et il ne peut pas vraiment faire la différence entre "lecteur vide" et "pas de lecteur". C'est pourquoi vous devez mettre le module sur liste noire pour vous débarrasser de l'erreur si vous n'avez pas de lecteur.
Perkins
1

Essayez ceci: http://forums.debian.net/viewtopic.php?t=133253

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 ??".

59iosl30
la source
1

J'ai été fidèle et farfelu avec ça pendant encore un peu de temps.

Une solution courte et longue.

Voici le court:

  • Vérifiez d'abord que votre fichier fstab est correct, en particulier votre partition de swap . -Puis courir:

sudo update-initramfs -u

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 (comme 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.

Bert Mariën
la source
1

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 ...

Bimlesh Singh
la source