windows10 雙系統安裝後,grub2 引導修複(親自實驗);grub2 命令行 手動載入內核;fedora 29 系統grub2引導修複;

来源:https://www.cnblogs.com/xuyaowen/archive/2019/12/19/grub-rebuild-after-installed-windows.html
-Advertisement-
Play Games

之前在本機有fedora 29的系統,但是由於錯誤安裝,把windows10 啟動安裝到 linux 所在的硬碟中,導致原來的 efi中的grub啟動被破壞,不能進入到linux中;我首先通過磁碟精靈,把efi中啟動文件拷貝到現有的windows安裝盤中,重新啟動後成功從新的efi分區進入windo ...


之前在本機有fedora 29的系統,但是由於錯誤安裝,把windows10 啟動安裝到 linux 所在的硬碟中,導致原來的 efi中的grub啟動被破壞,不能進入到linux中;我首先通過磁碟精靈,把efi中啟動文件拷貝到現有的windows安裝盤中,重新啟動後成功從新的efi分區進入windows; 然後開始進行恢復fedora系統;這時候,有兩種辦法,一種是重新安裝 linux; 另外一種方法就是重新修複grub引導;因為對linux比較瞭解,我選擇了後者;首先參考了幾篇已經實踐的博客;

Fedora 29 引導修複:

  • 創建修複環境:
    • 製作live cd 或者 啟動盤;
    • 啟動進入live os 
    • sudo -i 
  • 創建系統chroot環境:
    • mkdir -p /mnt/fedora
    • mount /dev/fedora/root /mnt/fedora
    • mount /dev/sda2 /mnt/fedora/boot (掛載boot, 如果boot 分區單獨分區的話)
    • mount -t proc proc /mnt/fedora/proc
    • mount -o bind /dev /mnt/fedora/dev
    • mount -o bind /sys /mnt/fedora/sys
    • mount -t devpts devpts /mnt/fedora/dev/pts
    • mount -t efivarfs efivarfs /mnt/fedora/sys/firmware/efi/efivars
    • chroot /mnt/fedora
  • 更新修複的環境並安裝grub2:
    • yum makecache 
    • dnf install grub2-efi grub2-efi-x64-modules shim (安裝系統為 64位) 
    • grub2-install --recheck /dev/sda1 (sda1 為efi 分區)
    • exit (退出chroot, 好像我在裡面使用 grub2-mkconfig 一直阻塞) 
  • 自動生成grub.cfg,用於啟動,預設生成的文件肯能啟動不成功,建議手動裝載linux內核:
    • mount /dev/sda2 /boot (啟動分區 sda2) 
    • mkdir /mnt/efi 
    • mount /dev/sda1 /mnt/efi (efi分區 sda1) 
    • grub2-mkconfig -o /mnt/efi/EFI/fedora/grub.cfg(efi啟動時,可以索引到其他磁碟上的系統,比如windows10 系統等)

    • grub2-mkconfig -o /boot/grub2/grub.cfg 

  • grub2 手動引導載入linux內核:參考 Using the GRUB2 boot prompt
    • insmod part_gpt
    • insmod ext2
    • insmod lvm
    • insmod xfs
    • ls 
    • set root=(hd0,gpt2) 
    • linux (hd0,gpt1)/vmlinuz-5.0.0-1.fc16.i686 root=/dev/dm-2 rhgb quiet selinux=0 (此處參數可以參考)
    • initrd (hd0,gpt1)/initramfs-5.0.0-1.fc16.i686.img (此處參考書可以參考)
    • boot(重新啟動)
    • grub2-mkconfig -o /boot/grub2/grub.cfg 進入系統後,重新修複引導;
    • 當然也可以在之前自動生成的啟動項的基礎上修改;在grub2 啟動時使用 e 快捷鍵進入修改界面,並使用ctrl+x執行修改結果;
  • 清理現場:
    • reboot;至此,重啟並拔掉live usb,使用efi模式引導修複的系統,完成啟動;
    • 註意:此時windows efi的引導還在,只是被grub2覆蓋了, 先啟動grub2;當然我們可以使用磁碟精靈;將windows efi 拷貝到另外一個單獨的分區;
    • 啟動後需要重新創建 grub2 cfg;使用上述 grub2-mkconfig 命令,在 /boot/efi/EFI/fedora/grub.cfg 和 /boot/grub2/grub.cfg 兩個位置覆蓋更新;
  • 最後,祝您使用愉快!此教程總結自實際修複過程中,如果您有問題,歡迎留言咨詢;我最後是在自動生成的項目的基礎上,結合手動修改引導成功的;

如果你對linux的啟動機制,以及mbr,efi 等不是很瞭解;建議還是重新安裝系統為好,防止把現有的windows系統搞壞;當前很多的pc機,都是基於馮諾依曼結構設計,電腦的中心是存儲;所以要保護好磁碟上的分區數據不被破壞;重新劃分磁碟的時候,也要多加小心;

保持更新,轉載請註明出處:https://www.cnblogs.com/xuyaowen/p/grub-rebuild-after-installed-windows.html ;更多內容請關註cnblogs.com/xuyaowen; 

參考鏈接:


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言:在WPF開發當中由於DataGrid控制項實現業務未達到非常理想的效果,我決定使用WinForm中的DataGridView來實現業務。 在XAML中加入以下命名空間: xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Wi ...
  • ...
  • C# .Net 2.0實例學習:WebBrowser頁面與WinForm交互技巧 2 Study Case 4:高亮顯示 上一個例子中我們學會了查找文本——究跟到底,對Web頁面還是只讀不寫。那麼,如果說要把所有的搜索結果高亮顯示呢?我們很快會想到把所有匹配的文字顏色、背景改一下就可以了。首先想到的 ...
  • 1. 首先驅動需要先獲取到2個power supply kernel\msm 3.18\drivers\usb\phy\phy msm usb.c kernel\msm 3.18\drivers\power\bq2570x\bq2570x_charger.c 充電動畫的啟動邏輯:POWER_SUPP ...
  • 常用命令 無需系統Root許可權 新資料庫設置Root密碼 visible > mysql -uroot -p visible > mysqladmin -uroot password "**" 創建用戶和授權 visible > mysql -uroot -p MariaDB > GRANT ALL ...
  • Ubuntu16.04 安裝 卸載 pip原創Solarzhou 發佈於2019-06-12 21:50:28 閱讀數 2001 收藏展開 實驗環境Ubuntu16.04;VMware15; 問題描述筆者在虛擬機上安裝好Ubuntu16.04, 一段時間之後重新打開準備編譯python程式,在安裝所 ...
  • MRAM的主體結構由三層結構的MTJ構成:自由層(free layer),固定層和氧化層。自由層與固定層的材料分別是CoFeB和MgO。MRAM 是一種非易失性的磁性隨機存儲器。它擁有靜態隨機存儲器(SRAM)的高速讀取寫入能力,以及動態隨機存儲器(DRAM)的高集成度,而且基本上可以無限次地重覆寫 ...
  • 三種模式 按 ESC 進入命令模式 命令模式下輸入 Shift + ; 進入末行模式 命令模式下輸入插入命令,如(i,a,o) 進入輸入模式 進入 vim 文件名 vim直接編輯一個文件,如果是已經存在的文件,則是打開著文件,如果是沒有的文件,就會新建文件 在Linux中,文件尾碼只是一個標示,任何 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...