神舟战神Z8-CU7NA折腾Windows10 + Manjaro双系统_z8-cu7na重装系统-程序员宅基地

技术标签: Linux  linux  操作系统  

  • 前言: 此博文是笔者折腾笔记, 同时贡献给爱折腾的Linuxer, 笔者使用过Ubuntu, 红帽RHEL, CentOS, Fedora, Manjaro(按时间先后顺序), 我个人觉得好用性一个比一个强. 另外①操作系统而言看需求和个人喜好, 用Windows还是Linux或者MacOS没有什么好争辩的, ②Linuxer用图形操作还是命令行也是个人自由, 没有强制要求, 在这里稍微谈一下笔者的看法: 命令行有好处, 就比如下面安装系统要介绍的, 其实Windows已经自带bcd编辑功能, 只不过只有命令行, 而如果非要用图形界面的话那只有选择EasyBCD了, 但是这货不支持uefi的Windows10, 命令行有缺点, 难记以及长期不用容易忘记; 图形界面简单直观, 但缺点是需要更高的硬件需求并且操作系统层面的操作功能可能比命令行少, 十几年前的机器跑Manjaro+图形界面不吃力, 纯命令的就更不用说了(估计普通用户在纯命令下也干不了啥事情), 但Windows10不行

 

  • 心酸: 打过神船的客服无果后经过多次的拆机和无数次的电脑重启折腾, 终于成功了, 只能说搞机不易, 且行且珍惜

 

  • 1. 前期准备: 
  •         1.1神舟战神Z8-CU7NA, 在某东自营(为啥是某东, 因为新用户和公司发的券, 某宝不咋地, 内存条 不敢要被退了换某东, 某猫就不知道了)买了新固态和内存, 固态是Acer的256GB NVME协议的, 另外在2.5寸硬盘位把机械硬盘安装上去, 内存条与出厂自带8GB内存条型号参数一样(相当于Z8-CU7NK). 这道路也是有点曲折, 最初买回来的固态硬盘是STATA协议的, 战神两个固态硬盘位上面有丝印, 一个支持STATA和NVME, 被原厂STATA固态占用了, 另一个只支持NVME. 额外说明, 新增的固态硬盘也与原厂的固态一样, 加了导热硅胶片(拼夕夕购买的100*100*5mm然后自己割合适的大小).
  •         1.2 Manjaro系统写入U盘, 在Windows10下操作, 建议使用rufus, 轻便免费, 写入速度快, 兼容系统广

 

  • 2. Manjaro系统安装, 这里不介绍详细的安装步骤了, 只说注意事项:
  •         2.1 因为BIOS的Secure Boot影响, Manjaro的ESP分区有两种选择(笔者的道路有点曲折, 选择的是第二个), 另有一个需要注意, 因为笔者Manjaro安装在另一个硬盘上, 如果Manjaro与Windows安装同一个硬盘的不同分区, 只能参考第一条:
  •         2.1.1 在安装系统之前备份ESP分区下的EFI/Boot/bootx64.efi文件, 此时Manjaro的efi安装分区可以选择Windows10的ESP分区也可以参考下面的步骤给Manjaro单独一个ESP分区, Manjaro安装完成之后不立即重启, 先把备份的EFI/Boot/bootx64.efi文件覆盖Manjaro安装时覆盖的EFI/Boot/bootx64.efi文件(有点绕)
  •         2.1.2 安装时给Manjaro单独一个ESP分区, 以防止Manjaro安装时覆盖windows10 ESP分区的EFI/Boot/bootx64.efi文件, 此时安装完成后要把Manjaro安装时ESP分区EFI/Manjaro/grubx64.efi文件拷贝/移动到Windows10的ESP分区EFI/Manjaro/grubx64.efi, 还需要更新Manjaro安装根路径etc/fstab文件更新/boot/efi挂载点. 注意: 现在都使用分区UUID了. 然后删除此时Manjaro的ESP分区或者删除除此时Manjaro的ESP分区下EFI/Boot/bootx64.efi文件, 否则此时有两个ESP分区并且两个ESP分区都有EFI/Boot/bootx64.efi文件, BIOS不能选择, 需要进入BIOS>Boot才能进入Windows10

 

  • 3. 此时如果正确的按上面的步骤重启电脑后依旧进入的时Windows10, 是不是有点失望? 不着急, 正需要在Windows10下面操作呢. 在windows10调出cmd命令行或者PowerShell(注意cmd和PowerShell的细微区别)以管理员运行, 然后输入命令 bcdedit /set {bootmgr} path “\EFI\Manjaro\grubx64.efi”(此命令cmd下可正常执行), 当然操作备份BCD是一个好习惯, 但备份的BCD基本用不着, 接下来进入关键动作.

 

  • 4. 此时重启电脑, 进入grub rescue, 然后一个一个的ls, 如命令: ls (hd<x>,gpt<y>), 直到找到grub rescue能识别的盘(grub不能识别NTFS分区), 然后再ls (hd<x>,gpt<y>)/boot/grub, 能在分区上找到/boot/grub了然后再分别执行如下4条命令:① set root=(hd<x>,gpt<y>)    ②set prefix=(hd<x>,gpt<y>)/boot/grub   ③insmod normal   ④normal, 此时就可以正常进入Linux启动菜单栏了. 注: 此处参考https://www.cnblogs.com/jins-note/p/9513335.html, 此博文中使用的硬盘分区是MBR而非GPT的

 

  • 5. 此时选择菜单栏进入Manjaro系统, 熟悉或不熟悉的界面或命令行, 反正最终调出命令行就是了, 执行下面命令: ①sudo update-grub  ②grub2-install /dev/????  (此处的????根据硬盘来了, 我的是nvme的), 总之是/dev下的你Manjaro根路径挂载分区就是了, 然后进入最痛苦的事情

 

  • 6. 说是最痛苦的事情是因为重启后进入Linux启动菜单栏后看到了Windows10的启动项了, 无论你怎么折腾Windows10无法正常启动, 只能在Windows10修复计算机->高级选项->系统还原, 然后就是漫长的还原过程, (不知道使用Windows10的安装盘修复的效果是否一样)

 

  • 7. 系统还原之后重启只能进入Windows10, 此时如果进入BIOS下的Boot Manager选择项能看到两了, 一个是Windows Boot Manager, 另一个是Manjaro, 那么就成功了.此时进入到Windows10, 再用bcdedit /enum all会有如下内容:

 

  • 8 进入BIOS到Boot Manager用鼠标拖拽把Manjaro的启动项拉到Windows Boot Manager上面去, 保存并退出, 此时开机能自动进入Linux启动菜单栏并且两个系统都能启动了

 

  • 9. 总结, 原Windows10系统盘除了ESP分区新增\EFI\Manjaro\grubx64.efi文件外其他基本都没更改. 此安装方法第6步应该是不需要的, 但是我找了很久的bcdedit命令和bootsect命令, 最后还是不知道怎么创建一个”Windows启动管理器”, 理论上在第三步时创建一个”Windows启动管理器”然后把此”Windows启动管理器”的path设为\EFI\Manjaro\grubx64.efi就好了, 这样省去Windows10还原的麻烦, 如果有哪位大虾了解, 可以分享.

 

  • 10 后记: 在折腾之前, 我也搜索过很多方法, 有的说修改BIOS, 我也尝试过, 里面的参数太多了, 而且对于修改BIOS不熟, 然后更多的关于双系统安装的都是转载根本不适用的, 最后在剩下Manjaro下安装NVIDIA显卡驱动和CUDA以及cuDNN, 如果有哪位大佬有此经历欢迎联系指教, 最后附上几张图, 非指导性的图, 在折腾之前我也不知道是否能成功, 所以没有完整的图文教程和视频教程, 哪位大佬有时间可以整一整并请尊重原创, 不懂之处多多交流

 

  • 额外说一点, 在Linux+Windows双系统下, 为了保持两系统时间一致, 在Linux下命令行timedatectl set-local-rtc yes就OK了

Linux启动菜单栏(屏幕有点脏, 自然防伪)

双系统下的windows10下查看的磁盘分区(磁盘0是Manjaro所在, 磁盘1是Windows所在, 磁盘2是机械盘):

 

Manjaro界面:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhuyu4839/article/details/107444804

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签