Windows 10 yükseltmesi grubun kurtarılmasına neden oldu


75

Masaüstümde Windows 7 ve Linux Ubuntu'yu çift açıyordum ve bugün ücretsiz Windows 10 yükseltmeleri yaptıkları gün. Ne kadar heyecan verici! Güncellemeyi aldım ve kuruyordu ve 30 dakikalık kestirmek için ayrıldım. Ancak, bilgisayarıma geri döndüğümde beni grubun kurtarma istemine yönlendirdi.

error: no such partition.
Entering rescue mode...
grub rescue>

Yazarken aşağıdakileri alıyorum ls:

grub rescue> ls
(hd0) (hd0,msdos5) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)

Grub kurtarma istemine rastlayan insanlara hızlıca baktıktan sonra, şunu yazdım setve aşağıdakileri aldım:

grub rescue> set
cmdpath=(hd0)
prefix=(hd0,msdos6)/boot/grub
root=hd0,msdos6

Bazı komutların normalişe yaramadığını tespit ettikten sonra hala kaybolmuştum ve Linux görüntü CD'sinden başlattığınız ve terminalde bazı komutları çalıştırdığınız bir video dersi buldum. Neyse ki, CD'm yanımda oldu ve oradan önyükleme yaptım. Ben daktilo zaman sudo fdisk -lancak terminale, bu bende ne olduğunu:

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

Burada hiçbir cihazımda Linux sistemi bulunmadığını söylüyor! Ve video eğitimini bundan daha fazla takip edemedim ...

Beynimi biraz alay ettim ve sda2'nin Windows sistemimi içerdiğini belirledim (C: sürücümün yaklaşık 700-bin GB boş alana sahip olduğunu hatırlıyorum). Biraz daha düşündükten sonra, Ubuntu'yu yüklerken Ubuntu ile ilgili bir şeye sabit disk alanımın yaklaşık 200-GB GB'sini atadığımı hatırlıyorum. Tam olarak hangisini hatırlamıyorum, ama bence temelde Ubuntu "sabit disk alanı" idi ve içinde önyükleme dosyaları yoktu. Linux için iki şey daha atadım, ancak boyutları çok küçüktü (henüz 1 GB işaretini geçmedi).

Peki, buradaki herhangi biri, yükseltme işlemimi tekrar başlatmama yardımcı olabilir mi? İçinde Linux bulunan bölümleri tamamen kaldırmak zorunda kalırsam sorun olmaz.


1
LInux bölümü mantıklıysa, Windows bölüm tablosunu onunla yeniden yazmaz. Testdisk kullanın. Bazıları onu geri yüklemek için test diskini kullandı ve grub'u MBR'ye yeniden yükledi ve her şeyi normale döndürdü. Ancak çalışması için tüm bölümleri Birincil ve mantıklı olarak doğru bir şekilde eklemelisiniz. cgsecurity.org/wiki/TestDisk_Step_By_Step
oldfred

Orada sadece 3505 sektörleri yeni sonra diskin sonunda sola gibi yukarıdaki düzende, görünüşe /dev/sda5veya (hd0,msdos5)sadece 1,7 MB anlamına geleceğini, hangi bölüm, bu yüzden Linux bölüm neredeyse orada saklanıyor olabilir. En iyi tahminim, Linux bölüm girişinin bir şekilde o yere kaydırılmış olması (# 6 yerine # 5) ve türünün açıklanamayacak şekilde değiştirilmiş olmasıdır. Denenecek ilk şey ls (hd0,msdos5)/GRUB kurtarma isteminde olacaktır.
Josip Rodin,

1
windows, böyle cahil bir işletim sistemi kullanmamak için bir neden daha
Aydın K.

Yanıtlar:


64

Bilgisayarım Windows 8 önceden yüklenmiş olarak geldi, bu yüzden Ubuntu'ya yer açmak için Windows bölümünü küçültdüm. Geçen yıl böyle çalıştı. Windows 10 yükseltmesindeki ikinci yeniden başlatmanın ardından bilgisayar artık önyükleme yapmadı. GRUB sadece bir grub rescuekomut istemi görüntüledi . Daha sonra sorunun Windows’un bölüm düzenini değiştirmesi nedeniyle oluştuğunu öğrendim. Önyükleme bölümü (normal GRUB verilerini içeren) artık GRUB'un beklediği yerde değildi. Bunun nasıl ve neden olduğunu bilmiyorum.

Kurtarma modunda yapabileceğiniz ilk şey, lskomutları içeren bölümleri görmektir . Benimki:

  • (Hd0, gpt1),
  • (Hd0, gpt2),
  • vb.

Hangi bölümün önyükleme bölümünüz olduğunu bulmaya çalışın. Hiçbir yoktur Tabtamamlama, tamamen dışarı yazmak zorunda. Doğru bölümü bulana kadar aşağıdaki komutları denedim:

ls (hd0,gpt1)/
ls (hd0,gpt1)/boot
ls (hd0,gpt2)/

vb.

Ardından setaynı mesajı girin. GRUB'un dosyaları nerede aradığını gösterecektir. Benim durumumda (hd0, gpt6), (hd0, gpt7) 'e taşındı. Set komutu görüntülendi:

prefix=(hd0,gpt6)/boot/grub
root=hd0,gpt6

Normal GRUB'a geri dönmek için, prefixayarı doğru bölüme işaret edecek şekilde değiştirerek başlayın . Benim durumumda emir şuydu:

set prefix=(hd0,gpt7)/boot/grub

Sonra kurtarma modundan normal moda geçebilirsiniz:

insmod normal
normal

Biri, rootayarı aşağıdakilerle de düzeltebilirdi :

set root=(hd0,gpt7)

Ancak bu, Windows zincir yükü girişleri için önemli olmadığı için kesinlikle gerekli değildir. Normal GRUB menüsüne girdikten sonra Windows'u önyükleyebilir ve Windows yükseltmenizi tamamlayabilirsiniz. Sorun, grubun kurtarılmasını her yeniden başlatmada doğru bölümler hakkında söylemeniz gerektiğidir. Ben böyle yaptım. GRUB sorununu daha sonra bıraktım, çünkü Windows'un bölümlerde veya önyüklemede bazı değişiklikler yapıp yapmayacağından emin değildim.

Windows bittiğinde GRUB sorunlarını çözmeye başladım. eUbuntu'nun önyükleme seçeneklerini düzenlemek için basın . Hepsini (hd0,gpt6)değiştirdim (hd0,gpt7)ve Ubuntu açtım .

Ancak şifreli bölüm ve cryptswap kullanıyorum. Açılışta Ubuntu benden şifre istedi. Neyse ki Ubuntu'nun kurulumunda sakladım ve açılışta girdim. Ubuntu sorunsuz başlattı.

Sonra düzeltilmiş /boot/grub/grub.cfgyerime başkasının nerede dosyasını (hd0,gpt6)ile (hd0,gpt7)ve gerçekleştirilen:

sudo grub-install

Bu noktada kalan tek sorun şifreleme idi. Kök Ubuntu bölüm sayısı bir (6 yerine 7) arttırıldığından takas bölümü benzer bir değişiklik yaşadı. /etc/crypttabDosyayı işaret etmek /dev/sda8yerine değiştirmek zorunda kaldım /dev/sda7.

Ubuntu için sadece iki bölüm kullanıyorum (root ve swap). Windows ile birlikte bulunan diğer işletim sistemleri daha fazla bölüm kullanıyorsa, daha fazla değişiklik yapılması gerekebilir. Özellikle bölmeler UUID'leri tarafından değil, numaralarına göre monte edilirse. Şuna bir bak /etc/fstab. Bölümler UUID tarafından tanımlanırsa sorun olmamalıdır. Ancak, /dev/...çizgiler varsa, bu bölümler yeniden numaralandırılmışsa, sayı düzeltilmelidir.


2
Bu benim için harika bir cevaptı. Ubuntu diskim yoktu ve Windows'umu 8.1'den 10'a yükseltiyordum ve aynı problem vardı. Böylece bu cevap benden fazladan kredi alıyor, çünkü ben sadece girip güncelleme tamamlanana kadar devam edebiliyorum. Pastırmamı kurtardığın için teşekkürler.
dibs

2
Win 10 kendisini yükseltmeye karar verdiğinde ve önyükleme kayıtlarını mahvettiğinde bu çözüm benim için mükemmel bir şekilde çalıştı (7'den 10'a kadar yaptığım bir aksama olmadan gitti)
pedorro

9
Komuttaki ls (hd0,msdos1)/ ls (hd0,msdos1)/boot ls (hd0,msdos2)/ etc.tüm girişler için lsve her geldiğinde denedim error: unkown filesystem.
Jacques MALAPRADE

2
Teşekkürler, bu yardımcı oldu. Benim için açık olmayan bir şey (hem Ubuntu hem de Grub için yeniyim) çünkü Ubuntu’ya geçtikten sonra grub ayarlarının düzenlenmesiydi (mini Emac’larda değil, Görünüşe göre dosya.) Bu yüzden boot yaptım, sonra config yaptım sudo nano /boot/grub/grub.cfgve sonra koştum sudo grub-install /dev/sda(nedense, parametre olmayan çağrı benim için başarısız oldu). Ve ancak o zaman kalıcı değişiklikler işe yaradı.
Nikita G.,

1
Tüm girişler için ls (hdo, msdos1) vb. Denendi. Hata bilinmeyen dosya sistemi olsun
Ashley G

13

Linux yanına pencere yüklemek (veya yükseltmek) sorunlu olabilir.

Bunu dene: https://help.ubuntu.com/community/Boot-Repair



Windows 10 teknik önizlemesini yükledikten sonra bir sorunu çözmek için kullandım ve işe yaradı. Temel olarak, şu anda kurulu olan tüm işletim sistemlerinde çalışmak için yeniden yükleme grubudur. Grubunuzu linux bölümünüze (sd #) taktığınızdan emin olun.

İyi şanslar!


Selam! Yardım etmeye zaman ayırdığınız için teşekkürler! Aslında hangi bölüm olduğundan emin değilim! Ama işe yarayıp yaramadığını görmek için biraz uğraşacağım.
LChaos2

Sorun değil! Her zaman yardım etmekten mutluluk duyarım.
Patrick,

Selam! Bu yüzden önyükleme onarım diskini açtım ve önerilen onarımı kullandım. Bunu yaptım ve bilgisayarımı yeniden başlattım, ancak bu beni Windows önyükleme yöneticisine götürüyor ve yeni bir donanım veya yazılım değişikliğinin yanlış imzalanmış veya hasar görmüş bir dosya yüklediğini söylüyor. Dosya \ Windows \ system32 \ winload.exe, durum 0xc0000428'dir. Enter tuşuna basmak, hangi Windows işletim sisteminin başlatılacağını seçip beni yalnızca Windows 7 göstermem için beni önyükleme yöneticisine götürüyor.
LChaos2

Biraz araştırma yaptıktan sonra, hata kodu (0xc000428), bazı dijital imzalarla doğrulanmayan winload.exe ile ilişkili gibi görünüyor. Bununla ilgili bir şey söyledi mi?
Patrick,

1
LChaos2 @ durumuyla ilgili herhangi bir güncelleme var mı?
hg8,

10

Bölümleri değiştirmeden önce, bir yedekleme yapın ve başka bir cihaza kaydedin. SDA değilse sürücüyü düzeltmek için değiştirin. Testdisk ile yanlış seti geri yüklerseniz baştan başlayabilirsiniz. Testdisk ile geri yüklerken sadece tüm mevcut artı eksik Mantıksal'ı istiyorum.

sudo sfdisk -d /dev/sda > parts.txt

Kayıp bölümünüz burada veya 1547'deki genişletilmiş bölümün başlangıcı ... ... ve 1915'te gösterilen ilk bölüm:

/dev/sda4      1547945982  1953521663   202787841    f  W95 Ext'd (LBA)
/dev/sda5      1915731968  1953521663    18894848    7  HPFS/NTFS/exFAT

Testdisk kullanabilirsiniz, ancak CHS kullanır. Mevcut tüm bölümleri ve eksik bölümü mantıklı olarak seçmelisiniz. Etrafındaki bölümleri kaç kez değiştirdiğinize bağlı olarak birçok sürüm gösterebilir. Öyleyse, diğer mevcut bölümlerle üst üste binmeden eksikle eşleşen boyutu seçin. Doğru şekilde geri yükleme işlemi yapanların bazıları yalnızca önyükleme yapabiliyordu, diğerleri grubunu yeniden yüklemeliydi. Ve bazıları geri yükleme bölümünü düzeltemedi.

http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step

Başka bir geri yükleme aracı kurtarma işleminden ayrılmıştır. Sektörleri kullanır, ancak verdiğiniz aralık, mevcut bölümlerle örtüşmeden eksik bölümün hemen dışında olmalıdır. Kesin bir başlangıç ​​ve bitiş biliyorsanız, en iyisi. Ayrılmış adamı gör

http://www.gnu.org/software/parted/manual/html_node/rescue.html

Ayrılmış kurtarma kullanan kullanıcı:

http://ubuntuforums.org/showthread.php?t=1775331&p=10905969#post10905969


3
Aynı sorunla karşılaştım ve Linux olan "boş alan" bölümlerini gösterdim. "Boş alan" ile / arasında kurtarma işlemini çalıştır ve ext4 geri döndü!
speedogoo

3
Sadece gparted'in ext4'ün eskiden olduğu yerde boş yer olduğunu söylemek için uğraşmak istiyorum. Bölünmüş, bölümlere ayrılmış, bölümler basmış, "boş alan" ın / dan kurtarması (değerlerinize sektörler için bir s eklemeyi unutmayınız) ayrıldı ve ext4 geri döndüler, speedogoo ile tamamen aynıydı. Grubla uğraşmaya hiç gerek yok.
Amedee Van Gasse

2
Daha fazla insan bölümleri kaybettiğinden, Windows 10 bölüm tablosuyla ne yapıyor? Benim durumumda ext4 mantıksal bir bölümdeydi.
Amedee Van Gasse

Bu kırıntı için teşekkürler. Karımın kayıp Linux bölümünü, parçalanmış kurtarma kullanarak kurtarabildim. Bir grubun kurulumundan sonra tekrar faaliyete geçtik.
bheeshmar

7

Bu , Windows bölümleyicisinde berbat bir hatadır ve Linux'a özgü değildir. Benim durumumda bir NTFS bölümünü ironik olarak silmiş.

Windows 10 yükleyici , Windows önyükleme bölümü Windows 10 Kurtarma Ortamını içeremeyecek kadar küçükse /dev/sda3, ana Windows bölümünün sonuna oyulmuş yeni bir bölüm oluşturur .sda2sda1

Bunu yapmak için bölüm tablosunu yeniden yazdığında, genişletilmiş bölüm tablosundaki her mantıksal bölüm için sda4, önceki bölüm numarasından önce diskte bulunuyorsa, pes eder.

Sizin durumunuzda Linux bölümleriniz yeni diskinizden önce diskinizde bulunuyordu sda5, ancak bölmeden sda5önce olduğundan daha yüksek bölüm numaralarına sahipti.

Büyük Windows 10 yükseltme günlüklerine bakarsanız, eski ve yeni bölüm tablolarıyla birlikte "5'ten önce 6, Yapacak bir şey yok" gibi bir mesaj göreceksiniz.

Windows sildiği bölümlerin içeriğinin üzerine yazmaz, bu yüzden nerede olduklarını bulabilirseniz onları kurtarmak mümkündür. Benim durumumda bölüm tablosunun yedekleri vardı ama oldfred'in cevabında açıklandığı gibi testdisk'i kullanmak hepsini bulma şansım mükemmel. Partide kurtarma işlemi, durumunuzda birden fazla bölüm silindiğinden dolayı zor olacaktır.

Kullanmak için TestDisk'i bir terminal türü, Ubuntu Canlı CD'den sudo apt-get install testdiskyüklemek için, ve sudo testdiskçalıştırın.

Bölüm tablosunu onardıktan sonra, GRUB içeren Linux bölümünün öncekinden farklı bir sayısı olabilir, bu nedenle GRUB kurtarma istemine son verebilirsiniz. Öyleyse, Önyükleme Onarımı artık GRUB'u düzeltebilecek.

Yine, Ubuntu Live CD'nizi kullanarak şunu yazın:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

yüklemek ve çalıştırmak için.

Şimdi Windows yükseltmesini tamamlayabilir.


Sorunun ne olduğunu net bir şekilde açıkladığınız için teşekkürler, bu bana çok yardımcı oldu. Soruda tarif edilenle aynı durumdaydım. Ancak testdisk silinmiş linux bölümünü bulamadı. Benim için Parted kurtarma hile yaptı ve daha sonra Windows 10 yükseltmeye devam edebildim
toby

"Windows, sildiği bölümlerin içeriğinin üzerine yazmıyor" Bu nasıl olabilir? Benim için yaptığı yeni bölüm (linux bölümlerimi öldürdükten sonra) tüm diski aldı. Öyleyse bu, yazarların her yere gidebileceği anlamına gelmez.
Greg Bell,

Seni ne kadar sevdiğimi ifade edemiyorum
aviggiano

1

Önyükleme onarımını kullanmak için BIOS'ta ayarlamanız gerekir:

  • UEFI'yi etkinleştir (BIOS'umda :)

    Eski destek DISABLE

  • Güvenli Önyüklemeyi Devre Dışı Bırak

Muhtemelen Güvenli Önyüklemeyi etkinleştirmişsinizdir, böylece "yanlış imzalanmış dosya" hatası alırsınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.