win7+ubuntu16.04以及win10+ubuntu18.04双系统安装

win7+ubuntu16.04以及win10+ubuntu18.04双系统安装

———————————————————————————————————————————

2020.8.8更新

继上次安装完nvidia驱动之后,发现电脑并没有选用安装的nvidia驱动,系统设置里查看到 图形 为“llvmpipe(LLVM 60 256bits)”,显然不是我的老爷图形卡 (Quadro P620) 。虽然nvidia-smi可以查到驱动信息,但确实是没有配置上。

网上教程差不多就是如下思路:

  1. 利用 prime-select 命令将驱动选择为已安装的nvidia驱动。 我尝试之后,首先没有此命令,通过apt-get安装之后,执行sudo prime-select nvidia,报错。后来手动利用deb包prime-select-xxx-all.deb安装prime-select,看似成功切换到nvidia
  2. 利用 nvidia-settings命令来配置显卡驱动。 报错如下,can't load with any available system

我决定卸载安装的驱动,然后利用ppa仓库直接安装 nvidia-430 。这次成功安装,nvidia-smi输出信息正常,nvidia-settings正常打开,选择的也是nvidia mode。系统设置里查看到 图形 为“Quadro P620/PCIe/SSE2” 。这下是真的成功安装了。

需要注意的是,我去官网找的驱动 .run 包,虽然也是430,不过是 430.04 ,而ppa仓库安装的是 430.64 。并且nvidia-settings,prime-select也都一并下载,只不过等了接近一个小时才下载安装完。

———————————————————————————————————————————

2020.7.19更新

时隔大半年,花了两天半时间,再次装上了nvidia显卡驱动,比上次收获了更多,在此过程中发现扎实的基础知识(操作系统好像也并不基础)对于一个开发人员是多么重要,也需要纠正一下之前在博客发表的错误观点,以免误人子弟。
下面的内容将主要包含两个方面:

  1. 本次装驱动历程
  2. 为之前的博客内容勘误
  • 本次装驱动历程

硬件就是之前说的那台DELL主机,显卡是Quadro系列的P620(一张图形卡,拿它来做深度学习,可见我们实验室的条件…不过一想起当年新四军的装备,我就觉得这不是事儿了)。

之前的操作系统装的是ubuntu18.04.3,直接按常规操作,看到推荐的nvidia-driver是450,于是到官网下载.run文件进行手动安装。

一切看似顺利,甚至在命令行执行nvidia-smi都能成功输出信息,但是重新开启lightdm就黑屏了,只剩左上角一个小白杠,不过lightdm的经典开机铃声可以听到。(目前为止没弄明白,个人感觉还是驱动太新,可能是操作系统内核跟它不兼容,也可能就是显卡跟它不兼容…希望大佬能给我个答案)

于是开始换低版本,通过ubuntu-driver devices查询到的驱动我几乎都试了一遍,除了450和440,在安装过程中就会报错,看报错信息似乎是跟内核有关系,但咱也不会改啊…中途尝试利用ppa源安装410和415,结果均告失败(这方法看来真的是看脸,而且那速度真滴慢,看网上能通过apt-fast来加快速度,哥也不想试了,哥只是想装个驱动…)。

就这样,接近两天时间过去了,说到这里,像我这样半路出家的选手在网上接触的知识过于零散,很多时候就是靠试,效率真的低…真的想系统性地好好学学这些计算机的基础知识(挤时间!!)

于是我准备换操作系统版本,毕竟在之前在16.04还是成功装上了驱动。这么一试,成功get~

  • 勘误
  1. 16.04不支持UEFI+GPT
  2. swap(没有挂载点) ---- 逻辑分区 ---- 交换空间 ---- 5G

在比较新的机器上,一般是UEFI+GPT的,这时候要注意硬盘分区方案相较于BIOS+MBR会有一些不同,就是把/boot挂载点去掉,新建一个efi分区。

整个系统放在一块机械硬盘上的。

efi(没有挂载点) ---- 逻辑分区 ---- ext4文件系统 ---- 2GB

/home ---- 逻辑分区 ---- ext4文件系统 ---- 剩余所有空间

/ ---- 逻辑分区 ---- ext4文件系统 ---- 约总大小的三分之一

swap(没有挂载点) ---- 主分区 ---- 交换空间 ---- 两倍内存大小

  • 补充
  1. grub文件当中的一些常量可以设置,包括开机的选择页面,记得sudo update-grub
  2. 在使用ubuntu-driver devices查询驱动之前,需要添加ppa源sudo add-apt-repository ppa:graphics-drivers/ppa,并且sudo apt-get update才可以查询到驱动信息
  3. –no-opengl-files:只安装驱动文件,不安装OpenGL文件。这个参数若省略会导致登陆界面死循环,因为NVIDIA的驱动默认会安装OpenGL,而Ubuntu的内核本身也有OpenGL、且与GUI显示息息相关,一旦NVIDIA的驱动覆写了OpenGL,在GUI需要动态链接OpenGL库的时候就引起问题。
    –no-x-check:安装驱动时不检查X服务
    –no-nouveau-check:安装驱动时不检查nouveau
    此条取自一位掘金大佬
  4. 安装过程中,dkms那项我选的no,32位那项我选的no,nvidia-xconfig那项我选的yes

———————————————————————————————————————————
一直想把最近两次的装机过程做个总结,包含一些思路和遇到的“坑”,但由于考试等原因,磨磨蹭蹭到今天。此外感谢网友们的一些发言和写在博客里的经验,在下受益匪浅。
装系统很难有一个普适的方法,因为显然每个人手里的机器不同。以下内容仅仅是针对于我手中的机器总结出的一些小方法和思路。

硬件环境

  1. 笔记本型号:联想G40
  2. 主板引导方式:BIOS
  3. 机械和固态的分区格式都是MBR(主引导记录

  1. 台式机是DELL的,型号比较新(具体是什么忘了看)
  2. 主板支持的引导方式是UEFI
  3. 机械和固态的分区格式是GPT

考虑到硬件配置,在装win和ubuntu要选择 合适的版本。例如,在我这台旧的笔记本上,我选择的就是ubuntu16.04(18.04怎么都装不上,具体原因未知),而在新的台式机上选择的就是ubuntu18.04。

制作U盘启动盘

现在装系统用光盘原版安装的比较少,我只用过U盘做启动盘,所以这几乎是个必经步骤。如今一体化工具也很多,很方便。

  1. win7–大白菜,镜像取自学校官网正版
  2. ubuntu–ultraISO,镜像取自官网
  3. win10–ultraISO,镜像取自学校官网正版

制作启动盘的过程就不赘述了,基本都是一键完成,百度即可,例如ultraISO ubuntu懂我意思吧。唯一要提醒的就是用大白菜安装的win系统不是纯净版,例如会有360浏览器之类的软件。所以之后我都使用ultraISO来做win启动盘。

格式化硬盘、分出可用空间

之所以把这部分单独拿出来说,是因为我觉得这一项工作必须提前规划好,用起来很舒服。否则到了后面想改会有难度且自由度也不是很大。

装双系统时先装windows时不需要

GPT的分区格式要ESP分区和MSR分区,ESP主要是在EFI平台用UEFI启动操作系统情况下,存放一些系统文件,MSR主要是GPT上保留空间和备份空间,用作将磁盘转换为动态磁盘时所用的分区。之前学姐装系统时未分出这两个区,貌似不影响正常使用…但我觉得还是分一下,毕竟咱也不知道哪天会用上

开始装系统

装win7系统

用大白菜一键安装成功,没有什么问题。

装ubuntu16.04

(本人比较懒,就不截图了,就用文字来描述了)

  1. 在插上启动盘后进入linux的安装界面,可以先试用一下体验一下再安装。也可以直接进行安装。
  2. 选择完语言和键盘配置后,选择其他选项,别选共存那个,如果连上wifi,先别选为图形等安装…。(最好别联网,不然真的很慢)然后进入磁盘分区。在分区前最好预留出了可用空间。好处就是在你想删除ubuntu时可以直接删除ubuntu占用的磁盘分区而不影响windows的正常使用。以下给出我的分区方案:

/boot ---- 逻辑分区 ---- ext4文件系统 ---- 2GB

/home ---- 逻辑分区 ---- ext4文件系统 ---- 剩余所有空间

/ ---- 逻辑分区 ---- ext4文件系统 ---- 约总大小的三分之一

swap(没有挂载点) ---- 主分区 ---- 交换空间 ---- 两倍内存大小

所有的位置都是空间起始位置

注意引导位置一定要选择/boot分区所在的硬盘号和分区号!!!

以上方案仅供参考

  1. 设置用户名密码地址啥的就可以静静等待安装了。
  2. 安装完成后重启,进入启动界面,选中ubuntu,按下按键e
  3. 找到带有quiet splash那行,改成quiet splash nomodeset,就是使得内核在系统启动时不要加载视频驱动程序。因为在16.04已经将视频模式设置移入内核,做到针对所有硬件的时钟频率和视频卡的寄存器编程都可以在内核里实现。可以实现从启动见面到登录界面的完美过渡。但是有些显卡并不能支持这一行为,会出现黑屏。因此添加参数nomodeset
  4. 这种更改只是临时性的更改,开机后需要用gedit打开/etc/default/grub。找到GRUB_CMDLINE_LINUX_DEFAULT="quiet splash",改为GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"。然后更新grubsudo update-grub。然后重启系统。
  5. 不知道是由于什么原因,可能是我的电脑太老了。重启之后非常卡,看到网友说可能是因为显卡驱动的原因。N卡需要自己下载驱动,使用开源驱动nouveau效果很差
  6. 去官网下载驱动,把安装包放在/home下,改名为NVIDIA-Linux.run。可选,我只是为了之后方便。记得赋予安装包执行权限sudo chmod a+x NVIDIA-Linux.run
  7. 禁用nouveau驱动
    用gedit打开/etc/modprobe.d/blacklist.conf,在文件最后加上:
    blacklist nouveau
    options nouveau modeset=0
  8. sudo update-initramfs -u 更新内核
  9. 重启系统之后,执行命令查看nouveau是否成功禁用。lsmod | grep nouveau如果什么都没输出,那么就是成功禁用。
  10. 按住ctrl+alt+f1 (不同的电脑不一样) 进入文本模式。
  11. 停止X-Windows服务sudo service lightdm stop
  12. 安装驱动安装包sudo ./NVIDIA-Linux.run -no-opengl-files -no-x-check -no-nouveau-check
  13. 上一步完成后,开启X-Windows服务sudo service lightdm start
  14. 进入系统之后,将开始在grub中添加的nomodeset删除,并且搜索: #GRUB_GFXMODE=640x480 编辑想要的分辨率,并且将#删除。
  15. 重启系统应该可以了。

为了保证能够使用双系统,在第一次装完ubuntu后,就是还没改参数nomodeset时,在BIOS里将引导顺序切回硬盘,需要在win7下使用easybcd添加Linux引导项

装win10系统

主机品牌是dell,在UEFI中将sata operation中的选项选为AHCI,不要选RAID ON。因为raid0之后是无法trim的,在raid0之后 写入每个固态硬盘的volume bitmap是不可预计的,所以无法TRIM,这样会读不到SSD。

其他的一键安装就行。

装ubuntu18.04

secure boot 关闭

其他的按照安装16.04来做就行,并且这次我没有再装显卡驱动,也非常的流畅。

总结

其实装系统还是挺考验人的,并不是说记住哪些步骤的事情,这个过程中会遇到很多前人可能没有遇到的问题,需要根据自己手里的硬件结合计算机、以及操作系统的知识来一一解决。装windows目前一体化的工具比较多,装ubuntu还是比较考验人,关键还是遇到问题之后的思路很重要。

有些问题我自己也没有弄得特别明白,有错误欢迎网友指出~再次感谢网络上各个技术人员的回答,你们的意见和经验让我受益匪浅。

准备有空深究一下计算机组成原理操作系统原理

祝各位小伙伴装系统顺利!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值