Nâng cấp Windows 10 giết chết grub và sửa chữa khởi động không giúp được gì


83

Tôi vừa nâng cấp lên Windows 10 từ Windows 8.1 trên máy tính xách tay được phân vùng đã cài đặt Ubuntu 14.04. Grub không còn xuất hiện khi khởi động nữa nên tôi đã chạy boot-Repair từ Ubuntu liveUSB. Điều này dường như không có bất kỳ ảnh hưởng. Tôi đã kiểm tra và khởi động an toàn vẫn bị vô hiệu hóa.
Đăng nhập từ sửa chữa khởi động: http://paste.ubfox.com/11972534/
Vậy tiếp theo là gì?

Cập nhật: Tôi đã cố gắng sử dụng chroot để cập nhật grub từ phân vùng Ubuntu của mình. update-grub chạy thành công khi tìm cả linux và windows manager manager nhưng quá trình vẫn không có tác dụng gì. grub-install phàn nàn rằng nó không thể tìm thấy thư mục EFI (nhưng tôi đã gắn mọi thứ chính xác).

Update2: Chỉ cần phát hiện ra rằng việc chạy efibootmgr sau khi chroot vào ubfox cho thấy ubfox hoàn toàn không theo thứ tự khởi động. Tôi tự thay đổi thứ tự và khởi động lại để phát hiện ra rằng bootorder đã được đặt lại. Tôi chạy trong windows: bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efiNhưng điều này thậm chí không có tác dụng ngay cả sau khi báo cáo 'Chiến dịch thành công'.


Tiếp theo sẽ là nộp một báo cáo lỗi.
Rinzwind

@Rinzwind Tôi vừa gửi nhật ký tới boot.repair @ gmail giải thích tình hình của tôi.
Nicholas Verstegen

Nếu bạn đã cập nhật các tệp của grub trong ESP, bạn đã truy cập vào ACER UEFI và bật niềm tin vào các tệp đó. Bạn cần mật khẩu hệ thống được thiết lập để làm điều đó. Askubfox.com/questions/597213/ Mạnh
oldfred

Giữ hai ESP riêng cho cả hai, nếu không Windows sẽ xóa GRUB trên mỗi bản cập nhật BOOTMGR.
Erkin Alp Güney

Ghi chú ngắn gọn này ( linuxbsdos.com/2015/07/29/ Khăn ) chỉ ra rằng nếu ESP của bạn nằm trong phân vùng UEFI, việc nâng cấp không nên phá vỡ bất cứ điều gì.
Carles Araguz

Câu trả lời:


114

Tôi chỉ phải chạy cái này trong Windows với tư cách quản trị viên:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Hoặc, nếu bạn đang sử dụng PowerShell:

bcdedit /set "{bootmgr}" path \EFI\ubuntu\grubx64.efi

GRUB xuất hiện tốt khi khởi động và tôi có thể khởi động vào Ubuntu và Windows 10 tốt.


2
@bheeshmar: đó là giá trị của một câu trả lời của chính nó! ;-)
Fabby

3
Điều này làm việc cho tôi, cảm ơn rất nhiều. Tôi có thể biết lệnh đó thực sự đã làm gì không?
Jehoshuah

3
FYI: không hoạt động trong windows powershell, cần chạy cmd với tư cách quản trị viên để nó hoạt động
William Saunders

2
@Jehoshuah Nó đặt Grub làm trình quản lý khởi động hệ thống, thay vì trình quản lý khởi động Windows, có nghĩa là khi hệ thống khởi động, nó chạy Grub. BCD là viết tắt của "Dữ liệu cấu hình khởi động".
wjandrea

7
Lưu ý: để tìm đường dẫn cho đối số cuối cùng cho lệnh đó, bạn có thể sử dụng bcdedit /enum firmware. Điều này hữu ích nếu bạn đang sử dụng một bản phân phối linux khác và công cụ tìm kiếm của bạn đã đưa bạn đến đây :-)
David Faure

19

Giải pháp duy nhất phù hợp với tôi được mô tả trên liên kết đó tôi đã đưa nó trở lại đây chỉ vì tìm thấy chủ đề này trên google dễ dàng hơn.

Về cơ bản các bước là:

  1. Sử dụng Ubuntu Live để khởi động ở chế độ 'Thử Ubuntu'.
  2. Sử dụng GParted để xác minh phân vùng linux chính xác (ví dụ /dev/sda2).
  3. Gắn kết phân vùng linux:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with your partition number
    
  4. Gắn kết tất cả các thư mục hệ thống linux khác:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    

    Nếu bạn đang chạy một hệ thống UEFI, bạn cũng sẽ phải gắn thư mục EFI của mình bằng lệnh sau:

    sudo mount /dev/sda1 /mnt/boot/efi
    
  5. chroot vào cài đặt của bạn

    sudo chroot /mnt
    
  6. Bây giờ bạn đã đăng nhập vào bản cài đặt của mình (không phải Ubuntu Live) chỉ cần làm

    update-grub
    grub-install /dev/sda
    update-grub
    exit
    sudo reboot
    

Và đó là nó! Tín dụng đi Scott Severance trên liên kết tôi đã đề cập ở trên.


1
Một phần làm việc cho tôi .. bây giờ nó khởi động thẳng vào linux mà không hiển thị menu khởi động
PowerAktar 16/07/2016

@PowerAktar bạn đã thử nhấn "ESC" để hiển thị menu grub chưa?
Khởi

Câu trả lời đã giúp tôi. Về cơ bản, tôi đã khởi động PC của mình với chế độ 'Thử Ubuntu' và cài đặt sửa chữa khởi động để sửa lỗi grub. Phân vùng Linux đã được phục hồi. Nhưng tôi MẤT phân vùng windows sau khi sửa. Vì vậy, tôi đã cố gắng thực hiện từ bước 4 đến 6. Những bước đó đã giúp tôi khôi phục phân vùng windows 10. Cảm ơn Nir
r0ng

2
Câu trả lời này gần giống như câu hỏi này trong câu hỏi được liên kết ngoại trừ định dạng và ngữ pháp kém hơn. Nếu câu trả lời của bạn về cơ bản là một bản sao của một câu hỏi khác, tốt hơn là gắn cờ câu hỏi này là một bản sao của câu hỏi khác sau khi bạn kiếm được 15 danh tiếng . Đừng quên bỏ phiếu cho (các) câu trả lời mà bạn thấy hữu ích!
David Foerster

Đó là điều duy nhất làm việc cho tôi. Tôi nhận thấy (L) ubfox sẽ không tạo ra bất cứ thứ gì trong sda1 / EFI / boot / ..., nhưng làm thủ công, đã sửa nó. Cảm ơn!
dùng2084865

4

vấn đề tương tự ở đây, nâng cấp từ windows7 lên 10 trong máy tính khởi động kép ... Tôi đã giải quyết theo cách này:

  1. Nâng cấp Windows
  2. Trong quá trình cài đặt, sau lần khởi động lại đầu tiên, tôi nhận được lời nhắc cứu grub, đã sửa lỗi này với BootRepair trong thanh USB
  3. Hoàn tất cài đặt Windows, GRUB đã ra mắt và với một đĩa CD trực tiếp, tôi nhận thấy rằng tất cả các phân vùng vẫn còn đó nhưng tất cả chúng đều là NTFS
  4. TestDisk được sử dụng từ windows đã phục hồi phân vùng Linux của tôi
  5. BootRepair một lần nữa và mọi thứ có vẻ ổn (tôi có giọng nói Windows trong menu GRUB bị trùng lặp .. tôi không biết tại sao, nhưng mọi thứ có vẻ ổn với tôi bây giờ!)

Tôi hy vọng nó có thể hữu ích cho ai đó!



Giải pháp này cũng hiệu quả với tôi .. và đã cứu cả ngày của tôi :) PS. Từng
Người khổng lồ tốt

1
TestDisk đã phục hồi các phân vùng Linux của bạn như thế nào? Bạn đã sử dụng nó để thay đổi loại phân vùng?
Greg Bell

Bạn đang nói rằng thiết lập Windows chuyển đổi phân vùng ext4 thành NFTS? Điều gì đã xảy ra với những thứ như quyền truy cập tệp và liên kết tượng trưng, ​​không thể được thể hiện giống nhau 100% trên NTFS? Tôi sẽ mất một phần thông tin tập tin.
bluenote10

4

Máy của vợ tôi đã cũ (không phải UEFI) và đã cài đặt Ubuntu trên phân vùng mở rộng hợp lý. Nâng cấp lên Windows 10 đã giết grub đầu tiên để khởi động lại dẫn đến lời nhắc "giải cứu grub", tôi đã khôi phục bằng BootRepair từ LiveUSB, nhưng phân vùng Linux của tôi bị thiếu! Tôi đã khôi phục điều này với sự giải cứu chia tay từ LiveUSB, nơi đã tìm thấy và khôi phục phân vùng. Từ đó, tôi đã gắn phân vùng từ LiveUSB và thực hiện cài đặt grub và có thể khởi động lại vào Ubuntu và Win10 đã phục hồi. Hy vọng điều này sẽ giúp những người khác.

  • Theo LiveUSB, ý tôi là ổ USB mà tôi đã sử dụng để cài đặt Ubuntu (xem http://www.ubfox.com/doad/desktop/create-a-usb-stick-on-ubfox ). Bạn cũng có thể sử dụng đĩa CD có thể khởi động. Khi bạn khởi động từ thiết bị này, bạn sẽ có thể tìm thấy các ứng dụng BootRepair và gparted trên thiết bị.

3
LƯU Ý: Tất cả người dùng có Windows 7 trong BIOS khởi động trên các ổ đĩa được phân vùng MBR (msdos) và Ubuntu trong phân vùng logic sẽ có thể gặp sự cố này. Tốt nhất để sao lưu bảng phân vùng riêng trước. Sau đó, nếu bạn không thay đổi bảng phân vùng, bạn có thể khôi phục nó trực tiếp. Askubfox.com/questions/654386/ Windows Windows luôn "quên" bao gồm phân vùng Linux khi nó viết lại bảng phân vùng.
oldfred

Tôi ước tôi đã đọc được điều này trước khi nhấn nút Cập nhật lên Windows 10 trên máy của vợ tôi! :)
bheeshmar

2
Bạn có thể vui lòng cung cấp một liên kết đến "BootRepair" và "giải cứu chia tay" và / hoặc "LiveUSB" không? Có rất nhiều thứ trong số này và mọi người có thể quan tâm đến việc sử dụng chính xác những thứ bạn đã làm (tôi không thể tìm thấy chúng một cách dứt khoát trên Google).
Greg Bell

@oldfred Windows viết lại bảng khi thực hiện nâng cấp? Điều đó thật đáng sợ.
Android Dev

2

Bạn đã kiểm tra thứ tự trình tự khởi động của bạn? Nếu bộ tải khởi động của Microsoft ở vị trí số 2, hãy di chuyển nó xuống dưới cùng và khởi động lại.

Bạn có thể kiểm tra nó từ bên trong Ubuntu bằng cách chạy sudo efibootmgr -vtrong thiết bị đầu cuối.


2

Chúng tôi có một số câu trả lời ở đây cung cấp các bước về cách họ khắc phục sự cố (Mất menu Grub do cập nhật Win10 mới nhất). Nhiều câu trả lời chứng minh giải pháp không phải là duy nhất vì máy cấu hình không phải là duy nhất.

Đối với hệ thống của tôi ( Acer E5-575G-57D4 ), sau đây là cách khắc phục:

Câu trả lời ngắn gọn :

1) Trong Windows, như Nicholas đã đề cập trong câu trả lời của mình, hãy nhập lệnh sau với tư cách quản trị viên trong dấu nhắc lệnh của Windows.

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

2) Chạy tiện ích sửa chữa khởi động với Live Ubuntu CD / USB.

Câu trả lời dài:

1) Đăng nhập vào Windows.

2) Tạo một thanh USB có thể khởi động (với phiên bản Ubuntu của bạn) và cắm nó vào.

3) Nhập lệnh này với tư cách quản trị viên trong dấu nhắc lệnh:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Khởi động lại .

4) Trong khi khởi động, nhấn F12 để xem menu khởi động. Chọn "Linux". Lưu ý: Đối với điều này, "menu khởi động F12" phải được bật trong cài đặt BIOS (Nhấn F2 trong khi khởi động).

5) Trong menu, chọn "Dùng thử Ubuntu mà không cần cài đặt", cho phiên Live Ubuntu .

6) Kết nối với WiFi của bạn. Tải xuống và chạy boot-Repair bằng các lệnh sau:

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

Chỉ cần làm theo lời nhắc, cho đến khi bạn nhận được thông báo rằng grub đã được sửa. Nó làm việc cho tôi.

Cảm ơn :)


1

Tôi không chắc điều đó có liên quan nhưng tôi cũng gặp phải một chút vấn đề khi cố nâng cấp lên windows 10 từ khởi động kép windows 8.1 / debian.

Về cơ bản, tại một số thời điểm trong quá trình nâng cấp, tôi đã kết thúc việc chuyển sang chế độ cứu hộ vì phân vùng debian của tôi đã bị xóa trong quá trình và do đó các tệp khởi động với nó (tôi thường có một phân vùng khởi động riêng nhưng không phải lúc này ... ). Từ cái nhìn vào liên kết này: Nâng cấp Windows 10 đã dẫn đến giải cứu grub

Tôi nghĩ vấn đề là các cửa sổ đã không viết bảng phân vùng chính xác trong quá trình nâng cấp.

Nhưng dù sao, tôi đã khắc phục sự cố bằng cách khởi động trên Win8.1 cài đặt hdd bên ngoài và làm theo các hướng dẫn sau: https://neosmart.net/wiki/fix-mbr/ (cuộn xuống win8 / 8.1). Điều đó đã xóa sạch grub và cài đặt lại bộ tải khởi động của mSoft. Sau đó tôi đã quản lý để hoàn thành việc nâng cấp và cài đặt lại debian cùng nhau vì tại thời điểm đó tôi không nhận ra đó đơn giản là một vấn đề với bảng phân vùng không được viết chính xác. Tuy nhiên, một giải pháp tốt hơn sẽ là thử và khôi phục bảng phân vùng của bạn (sử dụng testdisk?) Và sau đó cài đặt lại / cập nhật grub.

Mong rằng sẽ giúp.

PS: Cảm ơn microsoft vì đã không nói xấu về những người có cấu hình khởi động kép ...


Tôi cũng chịu một phân vùng bị xóa với việc nâng cấp.
Lewis Goddard

Điều tôi không hiểu là tại sao chỉ có phân vùng linux gốc của tôi bị xóa khi tôi có 2 phân vùng logic khác cho / opt và linux-exchange bị bỏ hoang. Chắc chắn nếu các cửa sổ thực sự gặp khó khăn khi viết các phân vùng hợp lý trong bảng thì chúng cũng phải chịu ...
Jérémy Riviere

1
Không thấy vấn đề với các hệ thống UEFI / gpt không ghi bảng phân vùng chính xác. Nhưng bất kỳ Windows 7 hoặc 8 nào có BIOS / MBR và Linux trong các phân vùng logic dường như đều có vấn đề. Askubfox.com/questions/654386/ đá Tất cả những người khác có vấn đề về phân vùng bị thiếu chỉ có một phân vùng LInux là hợp lý. Nhưng bây giờ có vẻ rất lạ khi Windows chỉ "quên" phân vùng ghi / (root). Và đã thấy nó trong nhiều năm ngay cả với cài đặt lại Windows 7.
oldfred

1
@oldfred Điều này xảy ra nếu các phân vùng logic không được đánh số theo thứ tự, tức là sda6 nằm trước sda5 bên trong phân vùng mở rộng và không chỉ là các phân vùng Linux (đã xóa Linux và NTFS trong trường hợp của tôi). Nâng cấp Windows 10 đôi khi tạo phân vùng mới cho môi trường khôi phục nếu không phù hợp với phân vùng khởi động.
Martin Thornton

1

Tôi đã sử dụng rescuetux / supergrubdisk. Đã khởi động nó từ DriveDroid trên máy tính bảng Android của tôi. Sau đó, sử dụng tự động phát hiện rescuetux. Đi vào nút WINDOWS, nhấn nút sửa chữa betaWindowsMBR. Và chọn / dev / sda2 ok ok ok. Rồi nó nói thành công. Bây giờ tôi chỉ cần khởi động lại vào menu uefi windows.


1

Bản sửa lỗi của tôi gần với @Francesco nhưng hơi khác một chút.

  1. Nâng cấp Windows từ 7 - 10.
  2. Trong quá trình cài đặt, sau lần khởi động lại đầu tiên, tôi nhận được lời nhắc cứu grub, đã sửa lỗi này với BootRepair trong thanh USB.
  3. Grub hiện xuất hiện, nhưng chỉ hiển thị phân vùng Ubuntu, không phải Windows.
  4. Đăng nhập vào Ubuntu, đi đến thiết bị đầu cuối và gõ update-grub
  5. Bây giờ Windows hiển thị sao lưu trong menu grub, tiếp tục nâng cấp Windows 10.

Trong trường hợp của tôi, hệ thống của tôi khởi động vào các cửa sổ sau BootRepair.
tbear

1
Hơn nữa, tất cả các phân vùng linux đã biến mất giống như Francesco. Bạn thật là may mắn.
tbear

@tbear vậy bạn đã phục hồi như thế nào?
Greg Bell

1

Nếu bạn có phương tiện cài đặt Win10, bạn có thể sử dụng phương tiện này để cài đặt MBR mới. Chỉ cần khởi động intil bạn sẽ thấy "Cài đặt ngay" (hoặc tương tự) nhưng không nhấp vào nó. Có một liên kết nhỏ nói "công cụ sửa chữa" (hoặc một cái gì đó). Từ đây bạn có thể nhập dấu nhắc lệnh.

cd c:\windows\system32
bootrec /fixmbr

thậm chí có thể

bootrec /fixboot

Điều này sẽ khắc phục vấn đề. Tuy nhiên, Linux của bạn đã tồn tại lâu do sự thiếu hiểu biết của microsofts đối với các lựa chọn của chính mọi người. Họ vừa quyết định rằng họ có thể xóa bất cứ thứ gì có sẵn trên ổ cứng của bạn và họ không thích. Do đó, chúng tôi có thể quyết định một cách hợp pháp rằng MS là một nhóm ...

Công cụ tạo phương tiện cài đặt Win10 có sẵn miễn phí từ https://www.microsoft.com/en-us/software-doad/windows10


0

8/8/15 Tôi đã nâng cấp từ Windows 7 lên Windows 10 và sau khi cài đặt Windows10, tôi đã tạo cho Firefox trình duyệt mặc định của mình và tắt PC của tôi, đợi 15 giây và cấp nguồn cho PC và thậm chí không ngờ rằng nó sẽ cho tôi tùy chọn vẫn chọn Ubuntu trong vòng 5 giây. Tôi đã nhấp vào Ubuntu và nó dường như bị treo trong tình trạng lấp lửng với màn hình màu xám có vẻ như vĩnh cửu, nhưng tôi đã không làm gì ngoại trừ nhấn nút enter trên bàn phím để cố gắng làm gì đó xảy ra và chờ đợi, cuối cùng màn hình đen quen thuộc để chọn Ubuntu hoặc các tùy chọn nâng cao xuất hiện. Nó khởi động tốt trong Ubuntu. Sau khi tôi tắt và bật nguồn trong windows 10, thời gian và ngày trong Windows hiển thị nhanh 5 giờ, giống như windows 7 đã làm sau khi sử dụng Ubuntu, LOL. Lần sau tôi chọn Ubuntu để khởi động, thời gian chờ khởi động ngắn hơn rất nhiều.


0

Đối với tôi quá trình này khá phức tạp. Tôi sử dụng hình thức sửa chữa khởi động thanh usb, và sau khi tôi gỡ bỏ thanh usb và khởi động lại máy tính, chỉ có tùy chọn đăng nhập Ubuntu. Tôi đăng nhập vào Ubuntu đã được cài đặt trong đĩa cứng máy tính của tôi và sau đó sử dụng sửa chữa khởi động lại. Sau đó, khi tôi khởi động lại máy tính của mình, bây giờ tôi có các tùy chọn để đăng nhập vào cả Unbunt và thắng 10 và nó hoạt động rất tốt.


-2

Sau khi nâng cấp lên Windows 10 trên Acer Aspire-AXC-605, tôi không thể khởi động vào ubfox và phím F2 sẽ không hiển thị màn hình bios nên không thể khởi động từ USB ubfox trực tiếp.

Tôi đã phải sử dụng phím Esc trong khi khởi động điều này mang đến màn hình "Chẩn đoán PC" và tôi có thể khởi động USB từ đó.


Điều này không thực sự trả lời câu hỏi.
TheWanderer

@ Zacharee1 giải pháp được đề xuất bởi người dùng là "Nhấn thoát, để đến màn hình PC Chẩn đoán, cung cấp tùy chọn khởi động USB". Đó không phải là tốt câu trả lời nhưng nó là một nỗ lực để trả lời.
Thomas Ward

@ThomasW. ĐỒNG Ý. Tôi không thực sự nhìn thấy nó mặc dù.
TheWanderer

@ Zacharee1 xem các chỉnh sửa của tôi - nó chia ra một chút, nhưng vấn đề là trong khi đó là một câu trả lời thì nó không thực sự tốt và nó không thực sự cung cấp một câu trả lời tuyệt vời
Thomas Ward
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.