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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...