UEFI模式创建Grub2引导ubuntu16.04和windows10,并安装Linux Nvidia驱动

目录

Table of Contents

目录

说明:正如EasyBCD官网文档https://neosmart.net/wiki/easybcd/uefi/ 说的那样:

                      ​

1.Linux的安装

2.下载DiskGenius

  Trick:当时装linux系统时,给/boot的空间太小了(200M,建议300M~500M),所以就尝试用这个直接给它所在分区扩容,确实可用[数据无价,请谨慎操作!!]

3.制作UEFI版本Grub2引导

 3.1 使用refind引导(仍需要编辑refind.conf 文件 ---将文件中的disabled 去掉)

4.下载EasyUEFI

顺便记录笔记本安装Nvidia驱动的经历

联想拯救者Y7000p+ Geforce GTX1660ti

禁用Nouveau显卡驱动

安装驱动

安装完ubuntu18.04 搜狗拼音切换时中文乱码可能乱码问题:



说明:正如EasyBCD官网文档https://neosmart.net/wiki/easybcd/uefi/ 说的那样:

                     

新的笔记本电脑或许已经无法通过简单的设置BIOS-legacy-模式以被EasyBCD识别,官网也提供了三种方式,

                              

 但前两者对我无效,因此直接讲述第三个操作的历程!

1.Linux的安装

这里推荐使用光盘刻录ubuntu16.04的镜像到u盘进行安装,

计算机-右键属性-管理-压缩盘(不要进行新建简单卷操作):给定安装ubuntu的空间

重启进入BIOS-boot-legacy优先-保存退出

插入制作好的U盘-重启-(切换启动命令为:USB xxx)本人是F12

一系列安装操作,自行csdn

       注:对于在同一个硬盘上按双系统,可能会提示:是否卸载其它挂载驱动程序(是,即可)

安装完毕后---shut-down-拔出u盘-重启电脑进入windows系统

2.下载DiskGenius

  Trick:当时装linux系统时,给/boot的空间太小了(200M,建议300M~500M),所以就尝试用这个直接给它所在分区扩容,确实可用[数据无价,请谨慎操作!!]

3.制作UEFI版本Grub2引导

这里推荐一个写的很好的博客:https://blog.csdn.net/u010875635/article/details/74289971

博客中的grub-for-windows是0积分下载的,大家可以按照文件中的ReadME.txt的第二条指示生成自己的bootx64.efi

然后替换掉文件夹中的EFI-Demo/Boot/bootx64.efi

然后我们使用EFI-Demo作为引导文件

 3.1 使用refind引导(仍需要编辑refind.conf 文件 ---将文件中的disabled 去掉)

使用refind引导的两种办法(建议第二种):https://blog.csdn.net/xujin12368/article/details/78767169/

可以直接利用Disk Genius 在 win10的引导目录下的EFI文件夹下分别创建与refind相同的目录,然后依次复制进去,这样,在修改完refind.conf后,只需命令行直接执行

bcdedit /set "{bootmgr}" path \EFI\refind\refind_x64.efi

#remind the volume is 分区 GUID of /boot (not 卷 GUID)
#and the loader is vmlinuz-version
#the ro root UUID is /root 卷UUID

menuentry Linux {
    #icon EFI/refind/icons/os_linux.png
    icon /EFI/refind/themes/rEFInd-minimal/icons/os_ubuntu.png
    volume 0A351266-74F5-4374-8DE6-474191445921
    loader /vmlinuz-5.0.0-23-generic
    initrd /initrd.img-5.0.0-23-generic
    options "ro root=UUID=52af025c-c802-4bc2-b92b-c00221a0fcf8"

}

注:使用3.1方法 可忽略下面4.下载EasyUEFI的步骤,因为该方法直接讲refind EFI 放到了与windows系统同一驱动路径下

4.下载EasyUEFI

这里提供下载链接:https://pan.baidu.com/s/1gRyjDbkTmHgdCevM2hy9Rg 提取码:hqhe
安装完成后,按照 【grub2 引导win10】https://jingyan.baidu.com/article/39810a23a2d4c2b637fda662.html

1.创建一个30M左右的fat32格式的分区盘作为新建的引导驱动。

2.将前面制作好的EFI-Demo文件拷贝到新建的盘中

3.打开easyUEFI,点击“管理efi启动项”,然后点击中间竖排图标中的第二个“创建新项”,之后如下图---确定。

4.修改EFI-Demo/grub/x64.cfg文件用来执行grub引导命令

下面是我个人的配置情况,主要修改menuentry项实现自定义

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}


insmod part_gpt
insmod fat
set root='hd0,gpt0'

#set font
font="/EFI/grub/unicode.pf2"
if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=zh_CN
  insmod gettext
fi

#adjust the screen resolution
terminal_output gfxterm

#background
#insmod jpeg
#if background_image /EFI/grub/background.jpg; then
#  true
#else
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 255,255,155,0; then
  clear
fi
#fi



#default select menu index
set default=0  #设置默认启动系统

#timeout
set timeout_style=menu
set timeout=10      #10秒后无操作默认启动第一个引导命令     

#下面是主要的修改项:

#win10
menuentry "Default Windows10" --class windows --class os {
	insmod ntfs
        
        #windows boot所在盘(hd0:所在磁盘0 ,gpt1:序号1)
	set root='(hd0,gpt1)'  

	clear
	echo "Start Windows"
	chainloader /EFI/Microsoft/Boot/bootmgfw.efi #也可通过DG查看(一般不会有变化)
	           
}


#已安装的ubuntu
menuentry "ubuntu16.04 x64" --class ubuntu --class os {
	insmod ext2
        
	set root='(hd0,gpt10)'#同上,通过DG查看序号

        #下面的root=表示linux / 挂载点(这个因为安装的磁盘不同部分博客上直接写root=/dev/sda6未必有效,因此最
        #好的方式是利用DG查看boot/ 所在盘的UUID作为引导命令;另外,vmlinuz和initrd也未必相同,后面给出DG图示)
	linux /vmlinuz-4.15.0-29-generic ro quiet splash root=UUID=3ec5bd94-f08f-4920-8d35-3e9331d04425
	initrd /initrd.img-4.15.0-29-generic
	echo "Start Ubuntu 16.04"
}


menuentry "-------------------" --class ubuntu --class os{
	set root=(hd0,gpt1)
}

#这里是利用grub引导直接硬盘安装的命令,需要将iso镜像文件放到盘根目录(最好新建一个盘,
#copy过去,然后可以再删除)  如果多次不成功建议U盘安装
menuentry "install ubuntu" --class ubuntu --class os {
	insmod ext2
	insmod loopback
	set root=(hd0,gpt5)
	set isofile=/ubuntu-16.04.5-desktop-amd64.iso
	loopback loop $isofile
	linux	(loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
	initrd	(loop)/casper/initrd
}

menuentry "-------------------" --class ubuntu --class os{
	set root=(hd0,gpt1)
}

menuentry "reboot" --class windows --class os{
	insmod reboot
	reboot
}

menuentry "halt" --class windows --class os{
	insmod halt
	halt
}

下图所示的分区6789为已安装的ubuntu的 /; swap space; boot/; home 的挂载点

 

5.重启电脑,按F12切换到GRUB_2 , Enter即可进入自定义引导程序,

如果选择某项后未能成功,可能是x64.cfg的set root=(XX)项 配置不对,可按esc 进入grub命令行模式,

   输入 ls   得到各个盘的信息 如   (hd0)(hd0,gpt1) ......

   输入ls  (hd0,gpt1)/    查看是否有各系统的boot文件,找到后重新修改x64.cfg即可。

顺便记录笔记本安装Nvidia驱动的经历

联想拯救者Y7000p+ Geforce GTX1660ti

上面安装好ubuntu系统后,看了很多博客,不知有没有用 就先把x64.cfg编辑了一下,如下所示

linux /vmlinuz-4.15.0-29-generic ro quiet splash  acpi_osi=linux nomodeset  root=UUID=3ec5bd94-f08f-4920-8d35-3e9331d04425

 然后进入ubuntu系统,打开终端,安装显卡切换软件:

sudo add-apt-repository ppa:nilarimogard/webupd8    #添加PPA更新源
sudo apt-get update                                 #刷新更新源列表
sudo apt-get install prime-indicator                #安装双显卡切换指示器

禁用Nouveau显卡驱动

1.新建blacklist-nouveau.conf文件

sudo touch  /etc/modprobe.d/blacklist-nouveau.conf

sudo chmod 777  /etc/modprobe.d/blacklist-nouveau.conf

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

 添加如下内容:

blacklist  vga16fb

blacklist nouveau

blacklist  rivafb

blacklist  nvidiafb

blacklist  rivatv

 2.修改blacklist.conf

 sudo gedit etc/modprobe.d/blacklist.conf

添加如下内容

blacklist  vga16fb

blacklist nouveau

blacklist  rivafb

blacklist  nvidiafb

blacklist  rivatv

3.刷新内核,重启生效

sudo update-initramfs -u

reboot

4.重启后输入如下命令,没有输出则禁用成功

lsmod | grep nouveau

安装驱动

1.终端输入 sudo ubuntu-drivers devices  或者查找【软件-更新】点击附加驱动查看Nvidia驱动版本【直接关闭,不要点应用修改】,得到版本号

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002191sv000017AAsd00003FFCbc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-430 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

2.关闭界面

sudo service lightdm stop

  若没有安装lightdm,则

sudo service gdm3 stop

3.关闭界面后进入黑窗体,按Ctrl+Alt+F1或(2,3,4,5,6),进入命令行模式【2,3顺序可颠倒】

  sudo apt-get install  nvidia-driver-430  #这是我个人1660ti N卡驱动版本号

  reboot #重启

终端输入 nvidia-smi 即可看到安装成功

别忘了 在~/.bashrc中配置cuda环境变量

安装完ubuntu18.04 搜狗拼音切换时中文乱码问题:

其他博客的方法诸如

cd ~/.config

rm -rf Sogou*等等均无法完美解决

个人使用的最讨巧的方法:

1. 打开 fcitx configure

2.不要把Sogou Pinyin放到首位

如图

 

这时再shift切换输入法就可以避免出现乱码问题

参考博客:https://www.cnblogs.com/2sheep2simple/p/10787371.html

                   https://blog.csdn.net/qq378947986/article/details/80292899

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值