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

ดังนั้น HDD หลักของฉันได้รับการติดตั้ง/และ HDD /media/marcel/videosของฉันได้รับการติดตั้งภายนอก ปัญหาคือว่าหลังจากรีบูตไดรฟ์ภายนอกของฉันได้และไดรฟ์ภายในของฉันมี/dev/sda /dev/sdbคอมพิวเตอร์ booted ดีเท่าที่ผมสามารถบอกได้จนกว่าฉันจะมองเข้าไปในซึ่งเป็นโคลนของ/media/marcel/videos /ตอนนี้ฉันถอดปลั๊กไดรฟ์ภายนอกออกแล้วและฉันพยายามแก้ไขปัญหาไดรฟ์หลักของฉัน

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(เมื่อใดก็ตามที่ฉันทำงาน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โปรดของคุณ

@siblynx เพิ่มแล้ว
Marcel

คำตอบ:


17

ดูเหมือนว่าเคอร์เนลตรวจพบอุปกรณ์บางอย่างผิดพลาดเป็นฟลอปปี้หรือเพิ่งสร้างการอ้างอิงที่ไม่มีอยู่เนื่องจากเครื่องของคุณไม่มีฟลอปปี้ไดรฟ์จริง ดังนั้นเหล่านี้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 ไม่โหลดมัน

ดังนั้นหลังจากรีบูตครั้งถัดไปมันจะไม่ปรากฏและทำให้การกำหนดค่าคงที่


1
ผมต้องเพิ่ม/etc/modprobe.d/blacklist-floppy.confไป/etc/mkinitcpio.confแล้วเรียกใช้mkinitcpio -p linuxจะได้รับการเปลี่ยนแปลงที่จะถือ คุณอาจต้องการที่จะเพิ่ม
Marcel

ใช่มีสิ่งนี้ในอดีตและลืมที่จะเพิ่ม

โปรดทราบว่าหากระบบของคุณมีตัวควบคุมฟลอปปี้มันจะไม่สามารถรู้ได้จนกว่าจะพยายามตรวจสอบหากมีไดรฟ์ต่ออยู่และจะไม่สามารถบอกความแตกต่างได้ดีระหว่าง "ไดรฟ์ที่ว่างเปล่า" และ "ไม่มีไดรฟ์" นั่นเป็นเหตุผลที่คุณต้องขึ้นบัญชีดำของโมดูลเพื่อกำจัดข้อผิดพลาดหากคุณไม่มีไดรฟ์
เพอร์กิน

1

ลองทำสิ่งนี้: http://forums.debian.net/viewtopic.php?t=133253

มันแก้ไขข้อผิดพลาดนี้ซึ่งไม่เห็นได้ชัดว่าในกรณีของฉันข้อผิดพลาดการเริ่มต้นฟลอปปี้มากกว่า UUID พาร์ติชันใหม่ (เช่น UUID ใหม่สำหรับการสลับพาร์ติชัน)

Btw: ไม่จำเป็นต้องเปลี่ยนใน /boot/grub/grub.cfg จาก "root = UUID =" เป็น "root = / dev / sd ??"


1

ฉันได้รับการ fideling และหลอกไปรอบ ๆ นั่นสำหรับเวลาค่อนข้าง lang

ทางออกที่สั้นและยาว

นี่คือสั้น ๆ :

  • ก่อนอื่นให้ดูว่าไฟล์fstabของคุณโอเคโดยเฉพาะอย่างยิ่งพาร์ติชันswapของคุณ -Than run:

sudo update-initramfs -u

และปัญหาของคุณควรจะจบลง

--- + ---

รุ่นยาวเขียนโดยคนอื่นที่ฉันไม่ได้จด (คนขอโทษ!)

ลอง:

ใช้ blkid เพื่อกำหนด UUID ของพาร์ติชัน swap ของคุณ, และในขณะที่มัน, ตรวจสอบให้แน่ใจว่าพาร์ติชันอื่น ๆ ทั้งหมดมีการแก้ไข UUID ใน / etc / fstab นอกจากนี้ยังสามารถใช้ lsblk -f เพื่อค้นหา UUID ของ

ใส่ UUID ที่ถูกต้องลงใน / etc / fstab โดยเฉพาะ swap สำหรับข้อผิดพลาดนี้

ใส่ UUID ที่ถูกต้องเพื่อสลับเป็น /etc/initramfs-tools/conf.d/resume

เรียกใช้ sudo update-initramfs -u

Reboot แก้ไขการยืดตัวของฉันทั้งหมดด้วยข้อผิดพลาดนี้เนื่องจากไฟล์สลับเปลี่ยนไป

--- + ---

ปัญหาเกิดขึ้นเนื่องจากการแลกเปลี่ยนของฉันถูกเข้ารหัส ดังนั้นสคริปต์โลคอลโลคัลใน initramfs กำลังรออุปกรณ์ swap ที่ไม่พร้อมใช้งานจนกว่าจะหมดเวลา ข้อความที่เกี่ยวข้องถูกยกเลิกรอการรอคอยสำหรับอุปกรณ์ suspend / resume

หากต้องการปิดการใช้งานนี้ (เนื่องจากไม่สามารถกลับมาใช้งาน swap ได้เมื่อใช้การสลับที่เข้ารหัสแล้วและฉันไม่ได้ใช้โหมดไฮเบอร์เนต) ฉันแก้ไขไฟล์นี้: /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

Reboot ...

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.