当前位置:   article > 正文

ubuntu系统下安装windows双系统及问题处理_ubuntu换回windows系统找不到系统盘

ubuntu换回windows系统找不到系统盘

双系统的安装

准备工作

至少需要两个U盘,一个制作成ubuntu启动盘,一个制作成windows 7启动盘,制作方法可用rufus,网址http://rufus.akeo.ie/,还可用UltraISO,推荐前者。都是把操作系统的镜像写入U盘,事先要把U盘中重要的资料备份出来,U盘在制作过程中会被格式化。,windows系统如果是恢复ghost镜像,可以制作winpe启动盘。

两块磁盘两个系统

现在安装双磁盘的比较多,如果是两个系统分别装在两个不同磁盘上,一种最简单办法是分别把两个磁盘都做成带活动分区的磁盘,分别装两个系统,引导时通过修改启动顺序来引导这两个系统,适用于不常切换系统的人使用,安装非常简单,用起来有些小麻烦。当然也可以制作成双启动,和下面一块磁盘多分区情况类似。

先安装的window系统后安装ubuntu

这个非常简单,用windows优盘先安装windows系统,成功后,再用ubuntu优盘安装ubuntu系统,按部就班操作即可。前提是在一块磁盘的情况下需要给两个系统都准备大小合适的分区空间。

win10系统下安装ubuntu的问题
看不到磁盘

安装ubuntu过程中看不到磁盘,无法安装,进入bios后没有硬盘控制器,譬如ideapad701s ,这种情况需要对这个操蛋的bios进行升级,即重新刷bios,到官方网站查找,必须下载正确的版本,和机器必须配,刷bios有风险,要慎重!!!!,刷过bios后再进入bios就可以看到磁盘控制方面的设置,这种型号改原来的raid模式为AHCI模式。ok。

win10无损转换磁盘控制器模式

问题又来了,win10无法正常启动了,访问不了硬盘了,别慌,重新进入bios,修改回raid模式,重启系统,又可以进入win10了,但仍然无法安装ubuntu,解决办法是,设置进入进入最小安全模式,在这种模式下进入bios修改磁盘控制器,重启后让系统在最小安全模式下修复,(安全模式是不行的),然后再改回正常模式。操作如下;

  1. 以管理员身份打开命令窗口
  2. 执行以下命令
bcdedit /set {current} safeboot minimal
  • 1
  1. 不成功,或者下面命令,一般会成功的。
bcdedit /set safeboot minimal
  • 1
  1. 重启进入bios 设置磁盘控制器为AHCI模式
  2. 重启电脑进入安全模式,可以正常进入win10了
  3. 以管理员身份打开命令窗口,执行以下命令
bcdedit /deletevalue {current} safeboot
  • 1
  1. 重启电脑,ok。可以安装ubuntu了。

先装ubuntu后装windows

windows系统安装ubuntu很容易,但在ubuntu下如何安装windows构成双系统呢?下面重点谈谈这种情况。
系统环境:ubuntu16.04LTS,安装windows 7-64位。
为了保险起见,还是要对重要的资料进行以下备份。linux的系统备份很简单,如下所示:

需要为windows系统腾挪磁盘空间的情况

ubuntu和windows应该安装在硬盘的两个不同分区,如果你有空闲的分区,可略过下面一大段。如果当初将ubuntu安装在一整块硬盘上,安装windows时需要在硬盘上为它腾出一块地方。可以使用pe带的磁盘分区工具来调整磁盘分区大小,或者使用ubuntu系统的分区工具来调整,如下所示:

  • 首先插上ubuntu启动盘,开机进入BOOT MENU(不同电脑界面不同),选择USB项。
  • 有试用ubuntu和安装ubuntu两个选项出现,选择安装ubuntu。
  • 在下一页,选择最下面 其它选项,然后继续。
  • 在下一页出现的分区列表中选择需要调整出空间的分区。
  • 点击左下角change,会弹出编辑分区这个对话框,大小是你想为原系统即ubuntu保留的大小,比如我一共有150GB,想为windows7分出50GB的大小,在这里改变到100GB左右即可,点击确定。
  • 完成后后退到最初的界面,选择试用ubuntu。
  • ctrl+alt+t打开终端,运行
sudo gparted
  • 1
  • 会打开 gparted这个工具,右键选择灰色的未分配区域,新建并格式化为ntfs格式的文件系统(操作完成后记得点击界面上方应用),然后关机。

安装win7系统

关机后插上windows7的启动盘,与打开ubuntu启动盘类似,在新分配的分区安装windows7系统。

安装完成后,会自动进入windows系统,但是可能无法正常进入grub启动菜单;如果是ghost恢复的系统是不会自动进入windows系统的,后面再说这种情况;即不能多引导,需要修复启动项。

修复启动项

重建grub启动项

关机后插上ubuntu启动盘,并进入ubuntu桌面,终端输入

sudo fdisk -l (小写的L)  
  • 1

输出内容:

Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x04bcd6c6

设备       启动     Start    末尾    扇区   Size Id 类型
/dev/sda1  *         2048 234041343 234039296 111.6G 83 Linux
/dev/sda2       234043390 250068991  16025602   7.7G  5 扩展
/dev/sda5       234043392 250068991  16025600   7.7G 82 Linux 交换 / Solaris


Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x853aba59

设备       启动     Start    末尾    扇区   Size Id 类型
/dev/sdb1  *         2048 167776255 167774208    80G  7 HPFS/NTFS/exFAT
/dev/sdb2       167776256 976773119 808996864 385.8G  f W95 扩展 (LBA)
/dev/sdb5       167778304 976773119 808994816 385.8G  7 HPFS/NTFS/exFAT

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

我这是两块磁盘情况,可以看出都做成了启动盘。
其中,sda是第一块磁盘,sdaX是我的ubuntu分区;sdb是第二块磁盘,sdaX是win7分区,每个人可能情况不同,请自行辨认。/dev/sdb1划分了80G安装win7。
接着,终端输入

sudo -i (得到root权限,无需再输入密码,便于下面操作)  
mkdir /media/tempdir (用来挂载sda1的,就是创建一个tempdir,名字什么的自己定)  
mount /dev/sda1 /media/tempdir (将sda1挂载在tempdir下)  
grub-install --root-directory=/media/tempdir /dev/sda (重新安装grub2到硬盘的主引导记录(mbr))  
  • 1
  • 2
  • 3
  • 4

操作成功出现:Installation finished.No Error Reported.

重启后就可以进入原来的ubuntu系统,但是windows暂时无法引导,下面就是更新grub2让它可以引导windows7。进入到系统后打开终端,输入

sudo update-grub2  
  • 1

update-grub或者update-grub2,根据grub版本选择,这个重新生成了grub.cfg.

Generating grub configuration file ...  
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.  
Found linux image: /boot/vmlinuz-3.13.0-37-generic  
Found initrd image: /boot/initrd.img-3.13.0-37-generic  
Found memtest86+ image: /boot/memtest86+.elf  
Found memtest86+ image: /boot/memtest86+.bin  
Found Windows 7 (loader) on /dev/sda2  
done  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

重启电脑,即可发现win7引导菜单,可正常引导系统。

Grub一般性引导错误修复

GRUB是大多数Linux系统默认使用的引导程序, 可以通过启动菜单的方式选择进入不同的操作系统(如果有的话).

当 “/boot/grub/grub.conf” 配置文件丢失, 或者关键配置出现错误, 或者MBR记录中的引导程序遭到破坏时, Linux主机启动后可能只会出现“grub>”的提示符,无法完成进一步的系统启动过程.

error : unknow filesystem
grub rescue>
  • 1
  • 2

这表示你的grub2的配置文件损坏, Grub找不到Ubuntu系统的引导项. 从而进入修复模式了(grub rescue), 也称救援模式。在救援模式下只有很少的命令可以用: set, ls, insmod, root, prefix

命令	描述
set	查看环境变量,这里可以查看启动路径和分区
ls	查看设备
insmod	加载模块
root	指定用于启动系统的分区,在救援模式下设置grub启动分区
prefix	设定grub启动路径
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

具体修复步骤如下:

查看分区
grub rescue> ls

列出磁盘分区

(hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1
  • 1
  • 2
  • 3
  • 4
  • 5
寻找ubuntu所在分区

就是寻找你的Linux系统是装在以上哪个分区里

grub rescue> ls (hd0,msdos1)/
  • 1
  • 若出现unknown filesystem字样,则尝试下一个。
  • 若出现的是你的ubuntu主文件夹下的文件夹和文件的名字,那就是的要找的分区了。
  • 你可以用ls (hd0,msdosX)/boot/grub 继续查看里面的具体内容。
  • 接下来用Set命令 设定root 和prefix
    假如你找到的启动分区是 (hd0,msdos8)
进入启动项
grub rescue>set 				//查看当前设置
grub rescue>root=(hd0,msdos5)
grub rescue>prefix=/boot/grub                 //grub路径设置
grub rescue>set root=(hd0,msdos8)				//修改设置
grub rescue>set prefix=(hd0,msdos8)/boot/grub
grub rescue>insmod normal                     //启动normal启动
grub rescue>normal
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

之后你就会看到熟悉的启动菜单栏了。
进入系统启动选项界面后还是进不去, 因为你还没有真正的修改grub, 这个要到ubuntu里修改进入系统启动项界面后,按C进入命令行模式

grub >set root=hd0,msdos8
grub >set prefix=(hd0,msdos8)/boot/grub
grub >linux /vmlinuz-xxx-xxx root=/dev/sda8 //里边的xxxx可以按Tab键,如果有acpi问题,在最后加一句acpi=off
grub >initrd /initrd.img-xxx-xxx
grub >boot
  • 1
  • 2
  • 3
  • 4
  • 5

如果grub配置没有大的损坏,就可以正常进入系统了。如果以上方法不能启动系统,需要重建一下grub请看下面。

进入ubuntu修复grub

其实前面的操作, 已经恢复了引导项了, 我们进入Ubuntu后, 可以更新下GRUB引导项, 在终端里运行

sudo update-grub
sudo grub-install /dev/sda
  • 1
  • 2

/dev/sda是激活的引导磁盘,对照实际情况。

通过引导盘恢复或重新安装GRUB

前一种方法的前提是Grub引导依旧可以使用, 只是丢失了Ubuntu的引导项, 而如果我们的Grub都已经损毁或者丢失, 则需要使用光盘或U盘进入一个可以使用或者修复的Linux系统来完成GRUB的重新安装。
把系统光盘放入光驱或U盘, 重启 Linux 系统. 系统启动时按”F2”键, 在”boot:” 提示符下输入 “linuxrescue” 后”回车”, 进入”急救模式”引导光盘中的Linux系统。
之后依次按回车键接收默认的语言、键盘格式,提示是否配置网卡是一般选择“NO”,然后系统会自动查找硬盘中的Linux分区并尝试将其挂载到”/mnt/sysimage”目录(选择”Continue”确认并继续).
接下来需要特别注意 : 当出现是否初始化磁盘的警告窗口时,一定要选择”NO”, 以免对硬盘数据造成进一步损坏. 最后选择”OK”确认后将进入到带”sh-x.x#”提示符的Bash Shell环境。
如果对这种方式不是很放心,也可以在启动时选择“试用ubuntu”,即从U盘或光驱加载系统,不从硬盘启动。
如果MBR扇区引导程序没有被损坏, 确认待修复的Linux系统分区的挂载情况, 并重修 grub.conf文件,不会修改,看下面。

如果MBR扇区引导程序被损坏,即使重建grub.conf配置文件后仍然无法启动系统。这时可以在急救模式的shell环境中使用grub-install重新安装grub,第一种情况下如果不会修改grub.conf文件, 可以使用这种方法处理。具体操作方法见上面修复启动项。

修改默认启动项

一般情况下,有人可能直接修改GRUB配置文件“/boot/grub/grub.cfg”,但使用“sudu vim /boot/grub/grub.cfg”发现提示这个是系统自动生成的文件,不建议直接编辑,而应该到“/etc/grub.d”和“/etc/default/grub”去修改。

“/etc/grub.d”是操作系统菜单目录,一般由系统生成,我们无需修改,接下来就是修改“/etc/default/grub”文件了。使用“sudo vim /etc/default/grub”命令打开该配置文件。

其中的“GRUB_DEFAULT=0”就是设置的默认启动项了。GRUB启动项是按照启动菜单依次使用数字进行索引了,起始数字为0。结合前面的系统启动菜单,我们可以看到,Windows8的启动项在第5项,因此这里我们就需要修改为4(因为第一项是从0开始的)。

修改完成,保存退出之后,还需要执行一下“sudo update-grub”来重新生成GRUB启动配置项。

到此就大功告成了,重启计算机看一下效果吧。默认启动项成果被切换到“Windows8”了。同样的方式,如果需要,还可以重新将默认启动项切换到任何需要的启动菜单项上的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/328039?site
推荐阅读
相关标签
  

闽ICP备14008679号