zoukankan      html  css  js  c++  java
  • 记录一次在安装双系统的过程(先有debian, 后加windows 8.1)

     

    突破的难题:  如何在一整个根目录的分区中切出来一半用于安装windows8.1呢?

        当初安装debian系统时, 由于脑残,直接把整个500G的硬盘分给了根目录 /  ,所以整个磁盘就TMD的一个主分区;   现在想再安装一个window 8.1系统,太让我为难了,几乎找了所有资料,就是没有找到一个在linux下如何把一个分区减少的方法(前提,没有使用LVM机制进行分区)。怎么办??

        我想,由于我的整个500G硬盘已经用了不到50个G,我干脆直接把MBR里面的分区表修改一下应该就可以吧!! 但是,没有找到修改分区表的工具, 使用 fdisk 命令也没有修改分区大小的选项。 我灵机一动,我干脆把主分区1删了,然后再重新添加一个200G的分区就等于把原来的500G分区修改为了200G吧,反正硬盘的第一主分区开始的扇区都是一样的,保证好扇区起始相同就OK了!!修改之前需要做的一个件事:我们需要把文件系统由500G调整为200G的文件系统;

     由于需要把该主分区 umount 下以后才能操作,所以需要借助一个U盘里的另一个 linux 系统完成该操作,操作如下:

    1. 使用 resize2fs 命令,把文件系统由原来的500G 缩小至200G;   resize2fs 命令并不改变分区的大小;

    • 使用 e2fsck 命令检查文件系统,  e2fsck  /dev/sda1
    • 使用resize2fs命令,调整sda1上面的文件系统至200G,    resize2fs  /dev/sda1  200G

    2. 使用 fdisk 命令把sda1分区删除,再添加一个210G的分区,为了安全起见,使分区比文件系统多了10G;

    sudo fdisk /dev/sda
    d                   #删除sda1分区,因为整个硬盘就一个分区,所以不用标记分区号;
    Partition 1 has been deleted.
    
    Command (m for help): n     #新建分区
    Partition type
       p   primary (2 primary, 1 extended, 1 free)
       l   logical (numbered from 5)
    Select (default p): p                   #建立主分区
    
    Selected partition 1
    First sector (2048-976773167, default 2048):             #开始值选择默认就OK;
    Last sector, +sectors or +size{K,M,G,T,P} (2048-524290047, default 524290047): +210G      #大小为210G
    
    Created a new partition 1 of type 'Linux' and of size 210 GiB.
    
    
    #最后按 w 保存退出就可以了;

    安装window8.1系统:

    现在已经扩展出了一半的磁盘,我们就可以在这部分安装 window8.1了,具体步骤就不说了,说几个重要的注意事项:

    1. 安装时,别重新安装 主引导记录, 否则原来的linux系统都启动不起来了,后面使用grub2进行引导;

    2. 安装时,如果弹出如下窗口时,解决办法:按下shift+f10 会打开命令窗口,进入到C:windowssystem32oobe文件夹,输入msoobe回车然后输入msoobe即可进入下一步操作,但错误提示框仍然在,不用理会。

    image

    3. 安装完成进入了window8.1 桌面以后, 记得关闭 window8.1的 快速启动选项,否则会无法关机, 即使强制关机以后,再启动时,就会出现下面无法启动的问题。 如果真的出现了这个问题的话,反正吧,借助硬盘上的MBR引导它是启动不起来的,你再怎么修复系统所在分区的分区引导记录也不管用, 或许你可以使用老毛桃制作一个U盘启动盘可以启动起来;

    image

    在linux系统下,使用grub2 对 window8.1进行分区引导:

    (更多参考 grub2.02的文档:https://www.gnu.org/software/grub/manual/grub/grub.html

    在我的电脑上, 使用的是 grub2.02版本, 进入 /etc/grub.d/目录下,我们会发现有如下文件(版本不一样,会不相同的,我只说我的版本):

    image

    其实呢, 30_os_prober文件就是一个操作系统的嗅探配置文件,它可以自动地去探测硬盘上支持的操作系统, 所以,安装完了windows以后,只需要执行 sudo update-grub 命令,它就会自己搜索并配置相应的操作系统的引导文件;

    当然,我们也可以自己写 window8.1的引导配置文件,打开40_custom文件,里面内容如下:

    image

    所以,我们只需要在下面写上window8.1的引导配置文件就好,然后执行 sudo update-grub 命令更新:

    image

    其中, insmod chain 表示链式引导, insmod ntfs 表示引导的操作系统的文件系统类型为nfts,    (hd0,3) 表示我的window8.1系统在第一块硬盘第3个分区上, chainloader +1 表示从所在分区的第一个扇区开始;

    最后安装完成的启动界面:

    image

  • 相关阅读:
    LRU Cache & Bloom Filter
    并查集
    WebRTC开发者必备 | 《WebRTC1.0: 浏览器间实时通讯》中文版免费下载
    数据科学真的是一份有前途的工作吗?
    教育场景下的实时音频解决方案
    《周四橄榄球之夜》流媒体视频拆解:Twitch VS Amazon Prime
    C语言之父Dennis Ritchie告诉你:如何成为世界上最好的程序员?
    视频技术详解:RTMP H5 直播流技术解析
    从理论到实践,全方位认识HTTP/2
    使用Core Audio实现VoIP通用音频模块
  • 原文地址:https://www.cnblogs.com/yinheyi/p/8287328.html
Copyright © 2011-2022 走看看