ฉันต้องทำอย่างไรเมื่อฉันได้รับข้อผิดพลาด“ พยายามอ่านหรือเขียนนอกดิสก์ 'hd0'” และ Boot Boot ไม่สามารถแก้ปัญหาได้


35

ฉันพยายามติดตั้งXubuntu 13.10บนคอมพิวเตอร์เก่า ฉันสังเกตเห็นปัญหาบางอย่างระหว่างการติดตั้งที่อาจเกี่ยวข้องกับปัญหาของฉัน สะดุดตา:

  1. ความละเอียดหน้าจอต่ำมาก หน้าต่างมีขนาดใหญ่กว่าหน้าจอมากและฉันต้องย้ายมันไปรอบ ๆ เพื่อไปที่ปุ่ม "ถัดไป"

  2. เคอร์เซอร์ของเมาส์นั้นมีสีเบลอที่กะพริบตลอดเวลา

การติดตั้งเสร็จสิ้นและฉันพยายามที่จะรีคอมพิวเตอร์ ทันทีที่ฉันได้รับ:

error: attempt to read or write outside of disk 'hd0'. 
Entering rescue mode... 
grub rescue>

ฉันทำดิสก์ USB ของBoot Repairบูตแล้วและเลือกการซ่อมแซมเริ่มต้น แอปพลิเคชันบอกฉันว่าปัญหาได้รับการซ่อมแซมและหากไม่สามารถแก้ปัญหาของฉันได้ฉันควรแสดงลิงก์นี้ให้คนที่สามารถช่วยฉันได้

ฉันควรทำอย่างไรต่อไป ฉันได้ลองติดตั้ง Ubuntu และ Xubuntu แล้วทั้งสองไม่ประสบความสำเร็จ

แก้ไข:

ฉันพบวิธีแก้ปัญหา

  1. ใส่ Xubuntu live USB
  2. เลือก "ลอง Xubuntu"
  3. ในเมนูการตั้งค่าเลือก "ติดตั้ง Xubuntu"

นี่เป็นการแก้ไขปัญหาสำหรับฉัน เนื่องจากมันถูกแก้ไขแล้วฉันจึงไม่สามารถทดสอบคำตอบได้


คำตอบ:


36

ค้นหาพาร์ติชันที่มี linux อยู่ด้วยความช่วยเหลือของเทคนิคต่อไปนี้

grub rescue > ls
(hd0) (hd0, msdos9)
grub rescue > ls (hd0,msdos9)/
grub rescue > ls (hd0,msdos8)/
grub rescue > ls (hd0,msdos5)/ # suppose this is root and bootloader of linux
grub rescue > ls (hd0,msdos5)/
grub rescue > set root=(hd0,msdos5)
grub rescue > set prefix=(hd0,msdos5)/boot/grub
grub rescue > insmod normal
grub rescue > normal

ตอนนี้เมนูการบูตของระบบจะปรากฏขึ้น บูตเข้าสู่ linux

sudo update-grub
sudo grub-install  /dev/sda # If the drive is hd0 the equivalent is sda, if it's hd1 then use sdb

สิ่งนี้จะแก้ไขบูตเดอร์


17
ฉันไม่เห็นสิ่งที่ควรทำ คุณระบุถึงคำสั่งจำนวนมากที่ไม่มีอะไรเหมาะสมสำหรับฉัน โปรดเพิ่มข้อความอธิบายอีกเล็กน้อย! ทำไมคุณ "countdown" จาก msdos9 ถึง 5 คุณจะเห็นว่า "นี่คือลินุกซ์" หรือไม่? ในกรณีของฉันมันแสดงให้เห็น (hd0, msdos1)! ฉันไม่สามารถ "countdown" - และเมื่อฉันตั้งค่า root และคำนำหน้าและทำ "insmod ปกติ" ฉันได้รับข้อความแสดงข้อผิดพลาดเหมือนเดิม ขอโทษ นี่ไม่ใช่คำตอบที่ทุกคนสามารถทำงานได้ :(
Zordid

13
ทันทีที่ฉันพิมพ์insmod normalฉันจะได้รับข้อความอีกครั้ง: "ข้อผิดพลาด: พยายามอ่านหรือเขียนนอกพาร์ทิชัน"
user643722

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

1
สิ่งที่ดีที่สุดที่ฉันได้รับก็คือด้วงอีกอันหนึ่ง เมนูไม่ปรากฏขึ้น
jbo5112

2
ฉันเห็นด้วยกับ @Zordid - เพียงรายการคำสั่งที่ไม่มีความลับโดยไม่ต้องอธิบายว่าคำสั่งเหล่านี้ทำไม่เพียง แต่ไม่เพียงพอมันอาจเป็นอันตรายได้
Johsm

27

สำหรับคนอื่นที่มีปัญหานี้:

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

ฉันทำตามคำแนะนำและทำการติดตั้งใหม่โดยใช้ตัวเลือกขั้นสูง (อย่าใช้ "ลบดิสก์และติดตั้ง Ubuntu") โดยใช้การตั้งค่าพาร์ทิชันเหล่านี้:

  1. สร้างพาร์ติชัน ext4 1 GB (1024 MB) ที่จุดเริ่มต้นของดิสก์ ติดตั้งใน "/ boot"
  2. สร้างพื้นที่ติดตั้งที่คุณต้องการใน ext4 ที่เมาท์ใน "/" ลบพื้นที่สว็อปของคุณ
  3. ใช้พื้นที่ที่เหลือสำหรับการแลกเปลี่ยน (พาร์ติชันทั้งหมดจะเป็นตัวหลัก)
  4. ในเมนูดรอปดาวน์ติดตั้งการบูตเลือกพาร์ติชัน "/ boot" ของคุณ ไม่ใช่รูทของไดรฟ์ที่ผิดนัด!

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

ดูเหมือนว่าจะใช้งานได้หาก / boot เป็นพาร์ติชันหลักเท่านั้น
Aaron Mason

เข้าร่วมเว็บไซต์นี้เพื่อบอกว่าสิ่งนี้ได้ผลสำหรับฉันด้วย พาร์ติชันสำหรับบูตขนาดเล็กคือสิ่งที่ฉันต้องการเพื่อให้มันทำงานเมื่อวาง Ubuntu บน HDD ภายนอก ขอบคุณ!
rayryeng - Reinstate Monica

มันช่วยให้ฉัน: ฉันมีขนาดใหญ่ (> 5TB) / พาร์ทิชันเพิ่มพาร์ทิชัน / boot ขนาดเล็กได้รับการแก้ไขปัญหา
neutrinus

สามารถทำได้โดยไม่ต้องลบพาร์ทิชันที่มีอยู่? ฉันมีพาร์ติชันขนาดใหญ่ที่มีข้อมูลทั้งหมดของฉันเริ่มต้นที่จุดเริ่มต้นของดิสก์
pir

6

สามารถแก้ไขได้อย่างง่ายดายผ่านทางพรอมต์การกู้ภัยของด้วง คำตอบแรกยังไม่สมบูรณ์และฉันได้รับข้อผิดพลาดเดียวกันในตอนแรก นี่คือวิธีการทำงาน:

อันดับแรกเราต้องหาพาร์ติชั่นหลัก นี่จะเป็นที่ที่ไฟล์สำคัญที่จำเป็นสำหรับ linux ในการบู๊ตจะอยู่ดังนั้นเราจะใส่นี่ -

Grub> ls

ตอนนี้คุณควรเห็นรายการที่เปรียบเทียบได้กับ (hd0) (hd0, msdos5) (hd0, msdos1) โปรดทราบว่าคุณอาจมีพาร์ทิชันที่แตกต่างจากตัวฉันเองเช่นเดียวกับหลายไดรฟ์ แต่กระบวนการเดียวกัน

ตอนนี้ค้นหาพาร์ทิชันเพื่อค้นหาหลัก -

Grub> ls (hd0)
Grub> ls (hd0,msdos5)
Grub> ls (hd0,msdos1)

จนกว่า grub จะแสดงรายการไฟล์ในพาร์ติชั่นนั้นหรือแสดงประเภทระบบไฟล์และวันที่ที่แก้ไขล่าสุด

ลำดับที่สองเราจำเป็นต้องตั้งค่าบางสิ่งเมื่อเราพบพาร์ทิชันหลักของเรา -

Grub> set prefix=(hd0,msdos1)/boot/grub
Grub> set root=(hd0,msdos1)
Grub> set

เมื่อดำเนินการคำสั่งชุดสุดท้าย Grub จะส่งออกรายการพารามิเตอร์ที่แตกต่าง ตอนนี้ให้ตรวจสอบว่าเราได้ตั้งค่ารูทและคำนำหน้า -

Grub> ls /boot

ด้วงควรส่งออกรายการไฟล์ที่มีอยู่ภายใน / boot

อันดับที่ 3 เราจำเป็นต้องตั้งค่าจุดเชื่อมต่อและโหลดเคอร์เนล -

Grub> linux /vmlinuz root=/dev/sda1
Grub> initrd /initrd.img

และสุดท้ายเราก็บูทระบบ -

Grub> boot

หากคุณสิ้นสุดบูตเข้าเปลือก busybox fsck /dev/sda1เพียงป้อน หลังจากนั้นเพียงแค่ป้อนexitและระบบของคุณจะบูตตามปกติ


ช่วยชีวิตฉันด้วยขอบคุณ!
Timmah

3

ฉันแก้ไขปัญหานี้โดยการย้ายพาร์ติชัน Linux ของฉันไปที่จุดเริ่มต้นของฮาร์ดดิสก์ เมื่อพาร์ติชัน linux อยู่ที่ส่วนท้ายของ 120 Gb HDD (40 Gb จากจุดสิ้นสุด) ฉันพบปัญหานี้ ไม่มีวิธีแก้ปัญหาใดใช้งานไม่ได้ หลังจากย้ายพาร์ติชัน linux ไปยังพื้นที่ว่างจาก 40Gb ไปเป็นปัญหา 80Gb หายไป


1
หนึ่งจะย้ายพาร์ติชัน Linux ไปยังจุดเริ่มต้นของดิสก์ได้อย่างไร
pir

1

หลังจากค้นหาไปหลายชั่วโมงฉันลองใช้วิธีนี้และใช้งานได้ดีเพื่อติดตั้งเคอร์เนลใหม่:

sudo dpkg --configure -a
sudo apt-get install --reinstall linux-image-$(uname -r)

0

ฉันประสบความสำเร็จในเรื่องนี้เมื่อฉันใช้vmdk disk จากแพ็คเกจเครื่องเสมือน OVAใน virt-manager / QEMU / KVM เครื่องเสมือนล้มเหลวพร้อมข้อความแสดงข้อผิดพลาดนี้

ทางออกคือการแปลง vmdk เป็น qcow2:

qemu-img convert -O qcow2 MyAppliance-disk1.vmdk MyAppliance.qcow2

และใช้ภาพที่แปลงแล้วใน virt-manager แทน


0

ฉันมีปัญหานี้เมื่อพยายามติดตั้ง Ubuntu 18 Server และ Xubuntu 18 บนเซิร์ฟเวอร์ของ Dell การเลือก UEFI แทน Legacy ในเมนู BIOS แก้ไข

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