首页 > 系统相关 >解决安装windows后Linux引导被覆盖的问题

解决安装windows后Linux引导被覆盖的问题

时间:2024-09-28 13:48:56浏览次数:7  
标签:chroot grub 覆盖 windows 分区 mnt EFI Linux

强烈谴责windows的霸道行径!!!

首先安装windows时提示检测到EFI分区为NTFS格式,请格式化为FAT32后重试。但是所有的EFI分区都是FAT32的。然后我尝试着把之前安装Linux时设置的EFI分区删了,使用windows安装程序自己生成的EFI分区,然后就安装成功了,但是Linux就进不去了。

方法一:再安装一个Linux

再弄出一片空闲空间,安装一个Linux发行版,比如ubuntu,安装的时候新建一个EFI分区。装完之后所有系统都可以进去了。

方法二:重新安装grub

先利用启动盘等方式进入live操作系统,然后利用lsblk等方式找到你想用来提供grub界面的linux发行版的分区,假设是/dev/A。然后把这个分区挂载到/mnt

mount /dev/A /mnt
cd /mnt

然后把/mnt/dev, /mnt/proc, /mnt/sys, /mnt/run都挂上:{% post_link Linux/'在chroot环境中挂载dev-proc-sys' %}

然后把EFI分区挂到mnt/boot/efi(其实在chroot里mount也可以):

mount /dev/EFI分区 /mnt/boot/efi

然后chroot到原有Linux:

sudo chroot /mnt

然后在chroot里生成grub配置:

update-grub

然后安装grub到EFI分区所在的磁盘:

grub-install /dev/EFI分区所在的磁盘

然后检查/etc/fstab里的/boot/efi所在的行,如果使用的是UUID,那么可能需要改成/dev/EFI分区,因为UUID可能会改变,导致之后进不去系统。

然后退出chroot,重启之后应该就可以看到正常的GRUB界面,Linux和Windows系统也应该都能进去了。

P.S. 不知道为什么,chroot到deepin的分区之后重启看不到GRUB界面,但是chroot到debian的分区之后重启就能看到GRUB界面。

参考:https://unix.stackexchange.com/questions/96977/grub-probe-error-failed-to-get-canonical-path-of-cow#96981

失败的尝试

首先尝试了EasyBCD,选择免费版安装即可。但是添加新条目中Linux/BSD没法选驱动器(灰色的)。
在这里插入图片描述

然后烧了个ubuntu启动盘,在试用模式下使用boot-repair,虽然提示修复成功了,但是开机后直接进入了grub命令行。

标签:chroot,grub,覆盖,windows,分区,mnt,EFI,Linux
From: https://www.cnblogs.com/searchstar/p/18437555

相关文章

  • Linux查看固态盘总写入量等信息
    sudoaptinstallgsmartcontrol然后smartctl命令就有了。先尝试直接打开gmartcontrol(通过终端或者启动器)结果发现看不了。这时可以使用smartctl命令查看。首先找到固态盘的设备名。在终端中输入ls/dev/nvm*第一个就是固态盘的设备名。然后输入sudosmartctl-a/dev/......
  • Linux挂载ext4 ramdisk
    划分一块DRAM作为ramdisk在/etc/default/grub改:GRUB_CMDLINE_LINUX="memmap=4G!4G"然后重启就可以看到/dev/pmem0,这就是划分出来的ramdisk了。格式化mkfs-text4/dev/pmem0挂载这里的挂载点设置为了/mnt/pmem。mkdir-p/mnt/pmemmount-text4/dev/pmem0/mnt/pmem......
  • Linux多线程复制目录
    比如有一个目录a需要复制:mkdiratoucha/amkdira/btoucha/b/ctreeaa├──a└──b└──c将其复制为目录d只需要用find找出目录下所有的文件,然后用gnu-parallel开多线程逐个复制即可:mkdirdcdafind.-typef|parallel-j4cp--parents{}../dtre......
  • 编译安装linux内核
    下载内核https://www.kernel.org/一般下载tarball,也就是.tar.xz格式的源码包。如果/够大,可以直接解压到/usr/src,也可以解压到机械盘上。配置.config里面是一些flag,内核编译的时候会读取这个文件,根据这些flag来配置。常用的有:CONFIG_LOCALVERSION附加在在内核的version......
  • 加速clone linux kernel
    tunagitclonehttps://mirrors.tuna.tsinghua.edu.cn/git/linux.gitgiteegitee.com有一个码云极速下载的用户,id是mirrors。这个用户维护了很多github的仓库的镜像,其中就有linuxkernel:[email protected]:mirrors/linux.git实测可以跑满带宽。建议不要用https的方式......
  • 使得两次编译linux内核产生一样的结果
    exportINSTALL_MOD_STRIP=-sexportKBUILD_BUILD_TIMESTAMP=0exportKBUILD_BUILD_USER=rootexportKBUILD_BUILD_HOST=localhostmakemrpropermakeallnoconfigmake-j4其中makeallnoconfig表示除必须的选项外,其它选项一律不选。然后就可以发现vmlinux和arch/x86/bo......
  • 解决linux下latex无法使用consolas的问题
    在网上找了好久都没有合适的解决方案TT。结合报错信息,发现其实/usr/local/texlive/2019中已经有inconsolata,但是编译时xelatex找的是/usr/share/texlive,里面有一些字体没有(我也不懂为什么官方要这样搞)。于是我们只需要把/usr/share下的相关文件夹替换成/usr/local/texlive/2019中......
  • linux性能优化实践1
    理解应用程序和系统的少数几个基本原理,再进行大量的实战练习,建立起整体系统性能的全局观。你不需要了解每个组件的所有实现细节,只要能理解它们最基本的工作原理和协作方式。性能指标:应用负载的视角:高并发、响应快,影响产品终端用户体验系统资源的视角:资源使用率、饱和度性能问......
  • [正点原子-I.MX6ULL]嵌入式 Linux 通过 nfs 下载出现 T T T T
    [正点原子-I.MX6ULL]嵌入式Linux通过nfs下载出现TTTT问题叙述但是有几个地方要注意1.安装驱动应该是2.修改GRUB_DEFAULT时,后面的引号是英文字符,直接复制过去会有语法报错3.最后就是重启linux时,如果你是在vmware上运行的,记得按shift进入boot界面问题叙述其实......
  • 在Linux上安装Cliosoft SOS的具体步骤是什么?
    在Linux上安装ClioSoftSOS的具体步骤如下。这些步骤包括了从下载软件包到完成安装的全过程,确保您能够顺利地在Linux系统上安装和配置SOS。1.准备工作检查系统要求:确保您的Linux系统满足SOS的硬件和软件要求。创建安装目录:建议使用一个专用目录来存放SOS的安装文件。例如:......