zoukankan      html  css  js  c++  java
  • ubuntu和win10双系统,用ubuntu引导win10启动

    有两块硬盘分变装了Windows10和Ubuntu16.04,一块1T的装了Win10系统,不想装ubuntu的时候把win10的引导覆盖了,所以ubuntu装在了另外一块500G的硬盘上。结果用ubuntu引导界面选择'Windows 10 (loader) (on /dev/sda1)'启动失败结合百度来的一些方法改了grub.cfg文件终于引导启动成功。

    1.启动ubuntu在查看grub.cfg文件内容

    在终端中输入

    gedit /boot/grub/grub.cfg

    文件开头提示:这是自动生成的文件,不要直接编辑,应该修改/etc/grub.d以及/etc/default/grub下的文件然后运行 grub-mkconfig -o /boot/grub/grub.cfg 重新生成该文件,但是我看了,那两个文件,看不懂。。。

    在文件中找到如下内容

    ### BEGIN /etc/grub.d/30_os-prober ###
    menuentry 'Windows 10 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-B67A5C027A5BBE35' {
    	insmod ldm
    	insmod ntfs
    	set root='ldm/42290147-b94b-11e6-b3fa-708bcda81db5/Volume1'
    	if [ x$feature_platform_search_hint = xy ]; then
    	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0 --hint-efi=hd0 --hint-baremetal=ahci0 --hint='ldm/42290147-b94b-11e6-b3fa-708bcda81db5/Volume1'  B67A5C027A5BBE35
    	else
    	  search --no-floppy --fs-uuid --set=root B67A5C027A5BBE35
    	fi
    	drivemap -s (hd0) ${root}
    	chainloader +1
    }
    set timeout_style=menu
    if [ "${timeout}" = 0 ]; then
      set timeout=10
    fi
    ### END /etc/grub.d/30_os-prober ###
    

    看起来好像是grub想从ldm分区启动Windows10,先几下这段中加粗部分,Windows启动分区的uuid:B67A5C027A5BBE35

    2.查找Windows10启动分区

    重新启动ubuntu,在引导界面按e,再根据提示按F2,进入grub,通过ls (hd[01],msdos[123456789])找到与1中uuid对应的磁盘分区‘(hd1,msdos2)’,这是一个500M的分区,看起来像是Windows10安装时自动创建的隐藏分区,几下这个分区后按ESC退出到引导界面

    3.编辑grub.cfg文件

    重新进入ubuntu系统,打开终端,输入

    sudo gedit /boot/grub/grub.cfg  

    在1中所列的代码后面加入如下代码

    menuentry 'Windows 10' {
    	insmod ntfs
    	set root = 'hd1,msdos2'
    	search --no-floppy --fs-uuid --set=root B67A5C027A5BBE35
    	chainloader +1
    } 

    保存,重启后就可以通过‘Windows 10’选项进入Windows系统

    tips:网上其他方法说要在编辑完grub.cfg后运行update-grub 或者 grub-mkconfig -o /boot/grub/grub.cfg更新grub.cfg文件,但是实际情况是grub.cfg文件是根据/etc/grub.d以及/etc/default/grub下的文件自动生成的,运行更新之后,grub.cfg文件会回到最初状态。其实问题并没有完美解决,启动时会报错,但能进入Windows系统,而且我并不知道ldm分区是什么鬼,也看不懂/etc/grub.d以及/etc/default/grub的文件。还需继续努力

  • 相关阅读:
    JS实现动态生成表格并提交表格数据向后端 表格中数据转为json
    JS 添加和删除HTML 标签
    操作系统杂碎
    bootstrap3级下拉菜单 及 CSS实现三级下拉菜单分析
    jquery获取复选框被选中的值
    Mac 命令行启动并连接Redis
    抓包工具不抓包的话记得看看还有没有没关的代理
    Mac OS Sierra 安装PHP扩展 Operation not permitted
    导航栏对于UIScrollview以及子类所做的一些事
    探索static的用处
  • 原文地址:https://www.cnblogs.com/annofyf/p/9219163.html
Copyright © 2011-2022 走看看