Apa yang harus dilakukan ketika saya mendapatkan "upaya untuk membaca atau menulis di luar kesalahan 'hd0' disk dan Perbaikan Boot tidak menyelesaikan masalah?

35

Saya mencoba menginstal Xubuntu 13.10 pada komputer lama. Saya memperhatikan beberapa kesulitan selama instalasi yang mungkin relevan dengan masalah saya. Terutama:

  1. Resolusi layarnya sangat rendah. Jendela-jendelanya jauh lebih besar daripada layar dan saya harus memindahkannya untuk menuju tombol "Next".

  2. Kursor mouse adalah kabur warna yang berkedip sepanjang waktu.

Instalasi selesai dan saya mencoba untuk me-reboot komputer. Segera saya mendapat:

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

Saya membuat disk Boot Repair USB, mem-boot-nya, dan memilih perbaikan default. Aplikasi memberi tahu saya bahwa masalahnya telah diperbaiki dan bahwa Jika ini tidak menyelesaikan masalah saya, saya harus menunjukkan tautan ini kepada seseorang yang dapat membantu saya.

Apa yang harus saya lakukan selanjutnya? Saya sudah mencoba menginstal Ubuntu dan Xubuntu, keduanya tidak berhasil.

EDIT:

Saya menemukan solusi.

  1. Masukkan Xubuntu live USB
  2. Pilih "coba Xubuntu"
  3. Di menu pengaturan pilih "install Xubuntu"

Ini memperbaiki masalah bagi saya. Karena sudah dipecahkan saya tidak bisa menguji jawabannya.

Martin Drozdik
sumber
(dekat-) duplikat askubuntu.com/questions/229715/…
Reinier Post

Jawaban:

36

Temukan partisi di mana linux hadir dengan bantuan teknik berikut

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

Sekarang, menu booting sistem muncul. Boot ke 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

Ini memperbaiki boot loader.

pengguna223882
sumber
17
Saya tidak tahu apa yang harus dilakukan. Anda menentukan banyak sekali perintah, tidak ada yang masuk akal bagi saya. Silakan tambahkan sedikit lebih banyak penjelasan teks! Mengapa Anda "menghitung mundur" dari msdos9 ke 5? Bagaimana Anda melihat bahwa "ini linux" ?? Dalam kasus saya ini menunjukkan (hd0, msdos1)! Saya tidak dapat "menghitung mundur" - dan begitu saya mengatur root dan awalan dan melakukan "insmod normal" saya mendapatkan pesan kesalahan yang sama persis seperti sebelumnya. Maaf. Ini bukan jawaban yang bisa digunakan siapa pun. :(
Zordid
13
Segera setelah saya mengetik insmod normalsaya mendapatkan pesan lagi: "error: berusaha membaca atau menulis di luar partisi."
user643722
2
Anda mengatakan "anggap ini adalah linux" tanpa mengatakan bagaimana saya bisa tahu yang mana linux itu. Setiap kali saya mengetik insmod normal, saya kembali "error: filesystem tidak dikenal", ini tidak berfungsi untuk saya. Juga, dapatkah Anda menjelaskan mengapa ini terjadi?
msknapp
1
Yang terbaik yang saya dapatkan adalah grub prompt lain. Menu tidak pernah muncul.
jbo5112
2
Saya setuju dengan @Zordid - hanya daftar perintah samar tanpa penjelasan tentang apa yang dilakukan perintah-perintah ini tidak hanya tidak cukup, itu bisa berpotensi berbahaya.
Johsm
27

Untuk siapa pun yang memiliki masalah ini:

Ini terjadi pada saya ketika instalasi baru atau perbaikan grub akan bekerja dan reboot, tetapi lain kali saya reboot, itu akan mendapatkan "upaya untuk membaca kesalahan" yang sama. Sering kali saya akan panik kernel dan komputer akan membutuhkan restart keras.

Saya mengikuti beberapa saran dan melakukan instalasi baru menggunakan opsi lanjutan (jangan gunakan "hapus disk dan instal ubuntu") menggunakan pengaturan partisi ini:

  1. Buat partisi ext4 1 GB (1024 MB) di awal disk; dipasang di "/ boot"
  2. Buat ruang instal yang diinginkan di ext4 yang terpasang di "/" MINUS area swap Anda
  3. Gunakan sisa ruang untuk swap. (SEMUA partisi akan menjadi primer)
  4. Pada menu dropdown instalasi boot, pilih partisi "/ boot" Anda. Bukan root drive default!
Andrew
sumber
Ini bekerja untuk saya ketika perintah dalam jawaban yang diterima mendapatkan "Filesystem tidak dikenal". Saya akhirnya menggunakan set sistem file yang sama, tetapi partisi / boot kecil khusus ini adalah yang memperbaiki masalah saya. Terima kasih.
GregHNZ
Tampaknya ini juga berfungsi jika / boot adalah satu-satunya partisi primer.
Aaron Mason
Bergabung dengan situs ini hanya untuk mengatakan bahwa ini juga berhasil untuk saya. Partisi boot kecil adalah apa yang saya perlukan untuk menjalankannya ketika menempatkan Ubuntu pada HDD eksternal. Terima kasih!
rayryeng
Itu membantu saya: Saya memiliki partisi (> 5TB) besar, menambahkan partisi kecil / boot memperbaiki masalah
neutrinus
Bisakah seseorang melakukan ini tanpa menghapus partisi yang ada? Saya memiliki partisi besar dengan semua data saya mulai dari awal disk.
pir
6

Itu dapat dengan mudah diselesaikan melalui Grub rescue prompt Jawaban pertama tidak cukup lengkap dan saya mendapat kesalahan yang sama pada awalnya. Inilah cara kerjanya:

1 kita perlu mencari partisi primer. Di sinilah tempat file-file penting yang diperlukan untuk boot Linux berada, jadi kita masukkan ini -

Grub> ls

Anda sekarang akan melihat daftar yang sebanding dengan (hd0) (hd0, msdos5) (hd0, msdos1). Perhatikan bahwa Anda mungkin memiliki partisi yang berbeda dari saya, serta beberapa drive, tetapi prosesnya sama.

Sekarang cari partisi untuk menemukan yang utama -

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

Hingga grub menampilkan daftar file pada partisi itu atau menunjukkan tipe sistem file dan tanggal modifikasi terakhir.

2nd kita perlu mengatur beberapa hal setelah kita menemukan partisi utama kita -

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

Setelah perintah set terakhir dijalankan, Grub akan menampilkan daftar parameter yang berbeda. Sekarang mari kita periksa apakah kita telah mengatur root dan awalan yang benar -

Grub> ls /boot

Grub harus menampilkan daftar file yang ada di dalam / boot.

3 kita perlu mengatur titik mount dan memuat kernel -

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

Dan terakhir kita boot sistem -

Grub> boot

Jika Anda akhirnya boot ke shell busybox, cukup masukkan fsck /dev/sda1. Setelah itu baru masuk exitdan sistem Anda akan boot secara normal.

Zach Parker
sumber
Selamatkan hidup saya, terima kasih!
Timmah
3

Saya memecahkan masalah ini dengan memindahkan partisi Linux saya ke dekat dengan mulai dari hard disk. Ketika partisi linux pada akhir 120 Gb HDD saya (40 Gb dari ujung) saya mendapat masalah ini. Tidak ada solusi yang tidak berhasil. Setelah memindahkan partisi linux ke ruang dari 40Gb ke 80Gb masalah menghilang.

John
sumber
1
Bagaimana cara memindahkan partisi Linux ke awal disk?
pir
1

Setelah mencari banyak jam, saya mencoba solusi ini dan bekerja dengan baik, untuk menginstal ulang kernel:

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

Saya mencapai masalah ini ketika saya telah menggunakan disk vmdk dari paket mesin virtual OVA di virt-manager / QEMU / KVM. Mesin virtual gagal dengan pesan kesalahan ini.

Solusi adalah mengubah vmdk menjadi qcow2:

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

Dan untuk menggunakan gambar yang dikonversi di virt-manager sebagai gantinya.

Honza
sumber
0

Saya mengalami masalah ini ketika mencoba menginstal Ubuntu 18 Server dan Xubuntu 18 pada server Dell. Memilih UEFI dan bukan Legacy di menu BIOS memperbaikinya.

arzach84
sumber