Saya dual-boot Windows 7 dan Linux Ubuntu di desktop saya, dan hari ini adalah hari mereka membagikan upgrade Windows 10 gratis. Menarik sekali! Saya mendapat pembaruan, dan sedang menginstal, dan saya pergi tidur siang selama 30 menit. Namun, ketika saya kembali ke komputer saya, itu membawa saya ke prompt penyelamatan grub.
error: no such partition.
Entering rescue mode...
grub rescue>
Saya mendapatkan yang berikut saat saya mengetik ls
:
grub rescue> ls
(hd0) (hd0,msdos5) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
Setelah melihat sekilas orang-orang yang menemukan prompt penyelamatan grub, saya mengetik set
dan mendapatkan yang berikut
grub rescue> set
cmdpath=(hd0)
prefix=(hd0,msdos6)/boot/grub
root=hd0,msdos6
Saya masih agak bingung setelah menemukan bahwa perintah tertentu seperti normal
tidak berfungsi, dan kemudian saya menemukan video tutorial di mana Anda boot dari CD image Linux dan menjalankan beberapa perintah di terminal. Untungnya, saya membawa CD saya, dan boot dari sana. Namun ketika saya mengetik sudo fdisk -l
di terminal, inilah yang saya dapat:
ubuntu@ubuntu:~$ sudo fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 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
Disk identifier: 0xc03ede74
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 1547022335 773407744 7 HPFS/NTFS/exFAT
/dev/sda3 1547022336 1547943935 460800 27 Hidden NTFS WinRE
/dev/sda4 1547945982 1953521663 202787841 f W95 Ext'd (LBA)
/dev/sda5 1915731968 1953521663 18894848 7 HPFS/NTFS/exFAT
Dikatakan di sini tidak ada perangkat saya yang memiliki sistem Linux di dalamnya! Dan saya tidak bisa mengikuti tutorial video lebih dari itu ...
Saya sedikit menggoda otak saya dan memutuskan bahwa sda2 berisi sistem Windows saya (karena saya ingat drive C: saya memiliki sekitar 700-ish GB ruang). Setelah berpikir sedikit lagi, saya ingat menugaskan sekitar 200-ish GB ruang hard disk saya untuk sesuatu yang terkait Ubuntu ketika menginstal Ubuntu. Saya tidak ingat persis yang mana, tapi saya pikir itu pada dasarnya Ubuntu "ruang hard disk", dan tidak ada file boot di dalamnya. Saya menetapkan dua hal lain untuk linux, tetapi ukurannya sangat kecil (belum melanggar batas 1 GB).
Jadi, adakah yang bisa membantu saya mendapatkan pembaruan di jalur yang benar? Saya tidak keberatan jika akhirnya harus menghapus partisi yang memiliki Linux di dalamnya.
sumber
/dev/sda5
atau baru(hd0,msdos5)
, yang hanya berjumlah 1,7 MB, sehingga partisi Linux sulit bersembunyi di sana. Dugaan terbaik saya adalah bahwa entri partisi Linux entah bagaimana dipindahkan ke tempat itu (# 5 bukannya # 6) dan jenisnya berubah secara misterius. Hal pertama yang harus dicoba adalahls (hd0,msdos5)/
bantuan GRUB.Jawaban:
Komputer saya datang dengan Windows 8 pra-instal jadi saya menyusut partisi Windows untuk memberikan ruang bagi Ubuntu. Begitulah cara kerjanya selama setahun terakhir. Setelah reboot kedua di Windows 10 upgrade komputer tidak bisa boot lagi. GRUB hanya menampilkan
grub rescue
prompt perintah. Saya menemukan kemudian bahwa masalah terjadi karena Windows entah bagaimana mengubah skema partisi. Partisi boot (berisi data GRUB normal) tidak lagi sesuai dengan yang diharapkan oleh GRUB. Saya tidak tahu bagaimana dan mengapa ini terjadi.Hal pertama yang dapat Anda lakukan dalam mode penyelamatan adalah melihat partisi dengan
ls
perintah. Milik saya adalah:Coba cari tahu partisi mana yang merupakan partisi boot Anda. Tidak ada Tabpenyelesaian, Anda harus mengetiknya sepenuhnya. Saya mencoba perintah berikut sampai saya menemukan partisi yang tepat:
dll.
Kemudian ketik
set
prompt yang sama. Ini akan menampilkan tempat GRUB mencari file-nya. Dalam kasus saya (hd0, gpt6) telah pindah ke (hd0, gpt7). Perintah set ditampilkan:Untuk kembali ke GRUB normal, mulailah dengan mengubah
prefix
pengaturan untuk menunjuk ke partisi yang tepat. Dalam kasus saya, perintahnya adalah:Kemudian Anda dapat beralih dari penyelamatan ke mode normal:
Seseorang juga bisa memperbaiki
root
pengaturan dengan:Tapi ini tidak sepenuhnya diperlukan, karena tidak masalah untuk entri rantai-beban Windows. Setelah berada di menu GRUB normal, Anda dapat mem-boot Windows dan menyelesaikan pemutakhiran Windows Anda. Masalahnya adalah Anda harus memberi tahu grub rescue tentang partisi yang tepat di setiap reboot. Begitulah cara saya melakukannya. Saya meninggalkan masalah GRUB untuk nanti karena saya tidak yakin apakah Windows akan melakukan beberapa perubahan lagi pada partisi atau boot.
Ketika Windows selesai saya mulai memecahkan masalah GRUB. Tekan
e
untuk mengedit opsi boot untuk Ubuntu. Saya mengubah semua(hd0,gpt6)
ke(hd0,gpt7)
dan Ubuntu boot.Namun, saya menggunakan partisi terenkripsi dan cryptswap. Pada saat boot Ubuntu meminta saya untuk frasa sandi. Untungnya saya menyimpannya di instalasi Ubuntu dan memasukkannya saat boot. Ubuntu boot tanpa masalah.
Saya kemudian mengoreksi
/boot/grub/grub.cfg
file di mana saya diganti(hd0,gpt6)
dengan(hd0,gpt7)
dan dilakukan:Pada saat itu satu-satunya masalah yang tersisa adalah enkripsi. Karena nomor partisi Ubuntu root bertambah satu (7 bukannya 6), partisi swap mengalami perubahan yang sama. Saya harus mengubah
/etc/crypttab
file untuk menunjuk ke/dev/sda8
bukan/dev/sda7
.Saya hanya menggunakan dua partisi untuk Ubuntu (root dan swap). Jika sistem operasi lain hidup berdampingan dengan Windows menggunakan lebih banyak partisi, mungkin ada lebih banyak perubahan yang diperlukan. Terutama jika partisi dipasang sesuai dengan jumlah mereka dan bukan oleh UUID mereka. Lihatlah
/etc/fstab
. Jika partisi diidentifikasi oleh UUID, seharusnya tidak ada masalah. Tetapi jika ada/dev/...
garis, nomornya harus diperbaiki jika partisi ini dinomori ulang.sumber
ls (hd0,msdos1)/ ls (hd0,msdos1)/boot ls (hd0,msdos2)/ etc.
untuk semua entri darils
perintah, dan setiap kali muncul denganerror: unkown filesystem
.sudo nano /boot/grub/grub.cfg
dan kemudian berlarisudo grub-install /dev/sda
(untuk beberapa alasan, panggilan tanpa parameter gagal untuk saya). Dan baru kemudian perubahan permanen bekerja.Menginstal windows (atau memutakhirkannya) bersama linux bisa menjadi masalah.
Coba ini: https://help.ubuntu.com/community/Boot-Repair
Saya menggunakannya untuk memperbaiki masalah setelah saya menginstal pratinjau teknologi Windows 10, dan itu berhasil. Pada dasarnya, yang dilakukannya adalah menginstal ulang grub untuk bekerja dengan semua sistem operasi yang saat ini diinstal. Pastikan untuk memberitahukannya untuk menginstal grub ke partisi linux Anda (sd #).
Semoga berhasil!
sumber
Sebelum mengubah partisi, buat cadangan dan simpan ke perangkat lain. Jika tidak sda ubah ke drive yang benar. Kemudian Anda dapat memulai kembali jika Anda mengembalikan set yang salah dengan testdisk. Anda hanya ingin semua Logical saat ini ditambah hilang ketika memulihkan dengan testdisk.
Partisi Anda yang hilang ada di sini atau di antara mulai perluasan partisi pada 1547 ... & partisi pertama ditampilkan pada 1915 ...:
Anda dapat menggunakan testdisk, tetapi menggunakan CHS. Anda harus memilih semua partisi yang ada dan partisi yang hilang sebagai logis. Ini dapat menampilkan banyak versi tergantung pada berapa kali Anda mengubah partisi. Jadi pilih ukuran yang cocok dengan yang hilang tanpa tumpang tindih dengan partisi lain saat ini. Beberapa yang telah mengembalikan dengan benar hanya dapat boot, yang lain harus menginstal ulang grub. Dan beberapa tidak dapat memperbaiki mengembalikan partisi.
http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step
Alat pemulihan lainnya adalah penyelamatan berpisah. Ini menggunakan sektor, tetapi rentang yang Anda berikan harus tepat di luar partisi yang hilang tanpa tumpang tindih dengan partisi saat ini. Terbaik jika Anda tahu persis mulai & berakhir. Lihat pria berpisah
http://www.gnu.org/software/parted/manual/html_node/rescue.html
Pengguna yang menggunakan penyelamatan sebagian:
http://ubuntuforums.org/showthread.php?t=1775331&p=10905969#post10905969
sumber
Ini adalah bug jahat di partisi Windows, dan tidak spesifik untuk Linux. Ironisnya menghapus partisi NTFS dalam kasus saya.
Pemasang Windows 10 membuat partisi baru (Anda
/dev/sda3
) yang diukir di ujung partisi Windows utamasda2
jika partisi boot Windowssda1
terlalu kecil untuk memuat Lingkungan Pemulihan Windows 10.Ketika ia menulis ulang tabel partisi untuk melakukan ini, untuk setiap partisi logis di tabel partisi extended
sda4
, jika terletak di disk sebelum nomor partisi sebelumnya, itu menyerah.Dalam kasus Anda, partisi Linux Anda berada di disk Anda sebelum yang baru
sda5
, tetapi memiliki nomor partisi yang lebih tinggi daripadasda5
sebelum partisi ulang.Jika Anda melihat log pemutakhiran Windows 10 yang besar, Anda akan melihat pesan seperti "6 sebelum 5, Tidak ada yang bisa dilakukan", bersama dengan tabel partisi lama dan baru.
Windows tidak menimpa konten partisi yang dihapus, sehingga dimungkinkan untuk memulihkannya jika Anda dapat menemukan di mana mereka berada. Dalam kasus saya, saya memiliki cadangan dari tabel partisi, tetapi menggunakan testdisk seperti yang dijelaskan dalam jawaban oldfred memiliki peluang bagus untuk menemukan semuanya. Penyelamatan sebagian akan sulit digunakan karena lebih dari satu partisi telah dihapus dalam kasus Anda.
Untuk menggunakan testdisk dari Ubuntu Live CD Anda, dalam jenis terminal
sudo apt-get install testdisk
untuk menginstalnya, dansudo testdisk
untuk menjalankan.Setelah memperbaiki tabel partisi, partisi Linux yang berisi GRUB sekarang mungkin memiliki nomor yang berbeda dari sebelumnya, jadi Anda mungkin masih berakhir di prompt penyelamatan GRUB. Jika demikian, Perbaikan Boot sekarang akan dapat memperbaiki GRUB.
Sekali lagi, menggunakan Ubuntu Live CD Anda, ketik:
untuk menginstal dan menjalankannya.
Sekarang Windows dapat menyelesaikan peningkatannya.
sumber
Untuk menggunakan boot-repair, Anda perlu mengatur di BIOS:
Aktifkan UEFI (di BIOS saya itu :)
Dukungan warisan DISABLE
Nonaktifkan Boot Aman
Mungkin Anda mengaktifkan Boot Aman, sehingga Anda mendapatkan kesalahan "file yang salah ditandatangani".
sumber