教程

Dell XPS13安装Windows+Ubuntu双系统

前言 几年前,我在ebay海淘了一台Dell XPS13笔记本,当时就是看上了官方宣称可以安装Ubuntu系统,可真当我拿到手之后,却一直安装使用的是Windows 10。由于性能不太够,我在去年组装了一台台式机,然后我心爱的XPS就理所当然的“退役”了。 而近期要准备回老家过年,台式有不太可能带回去,终于在吃灰大半年后重出江湖。本来想直接装Ubuntu的,但为了预防某些特殊需求,我还是退而求其次,选择安装Windows 10 + Ubuntu双系统。(为什么不是Windows 11,后面会给出解释)。 预览图 准备工作 启动盘(Ventoy) Type-C To USB转接头 系统镜像,下载并复制到启动盘内 Ventoy制作启动盘 Q:为什么不推荐Windows官方启动盘制作工具? A:一个U盘只能装一个系统,太浪费。 Q:为什么不推荐老毛桃等等一些国人编写的启动盘工具? A:像这类PE工具大多都会预装一些程序,虽然能手动卸载,但非开源且涉及敏感操作的工具我个人是不太推荐的。更何况这类工具的官网下载地址报毒,我就更不想使用了。 Ventoy优点: 免费、开源 无额外操作,如预装广告软件等 使用方便,将镜像文件放到U盘即可 Ventoy官网: https://www.ventoy.net/cn/index.html Windows 10官网镜像下载 官网地址:https://www.microsoft.com/en-us/software-download/windows10ISO 由于Windows10官网在检测到Windows系统时,展示给用户的是Windows启动盘创建工具而不是iso镜像,这里只需要使用F12开发者工具,将UA更换即可。 具体操作方式见知乎文章->绝对原汁原味!教你从微软官网下载Win10镜像 实战开始 1. 安装Windows 10 由于我有重装系统的打算,如果你不想重装你的系统,你也可以直接跳过这一部分。 开机狂按F2进入bios设置。 SATA Operation System Configuration->SATA Operation改成AHCI。 Secure Boot Secure Boot把Secure Boot Enable的选项去掉。 然后插上启动盘,重启电脑,狂按F12进入启动项选择,选择Ventoy,在弹出的图形界面选择Windows10的镜像,然后按流程安装Windows即可。 2. 压缩磁盘空间 安装完成后,在磁盘管理(右键点击左下角微软图标)里,压缩出一个装Ubuntu系统的分区。 由于XPS13只有一块500G SSD硬盘,我这里直接压缩出一个150G的分区。 3. 安装Ubuntu 开机狂按F12进入到启动盘,选择Ubuntu镜像进行Ubuntu的安装。将其安装在刚刚压缩出来的150G的分区即可。 安装过程中会提示"此计算机已安装Windows Boot Manager",此时选择与Windows Boot Manager共存,然后按流程安装完毕即可。 安装完成后,重启电脑就能看到系统选择界面,至此,双系统安装完毕。 另外,如果你觉得这个界面太丑,想实现如我文章预览图一样的效果,可以参照https://github.com/vinceliuice/grub2-themes来美化。 遇到的坑以及解决方法 无法引导进入启动盘。 具体表现为,引导设置为启动盘时,电脑黑屏卡死。 进入bios,关闭security boot选项后重试即可。 使用grub2-themes美化之后,无法进入Ubuntu系统 由于我笔记本是4K屏幕,理所当然的使用命令 [crayon-65d80c5790636037627491/] 设置4K壁纸,然后就无法进入Ubuntu系统了。 根据issue更改了更小的壁纸图片后成功进入Ubuntu。 这里建议大家,不要安装4K壁纸,如果你是4K屏幕,安装2K的壁纸就行,实际体验差距很小。 相关iuues:https://github.com/vinceliuice/grub2-themes/issues/48 双系统时区不对 从一个系统切换到另一个系统后,时间就会出错,与真实时间相差8小时。 我两次遇到这种情况,都是按照这篇文章设置的,也完美解决我的问题。https://www.jianshu.com/p/cf445a2c55e8 Windows 指纹无法识别 系统更新打开,安装所有驱动和更新。然后去下载Dell官方软件Dell Support Assist更新驱动即可。 Ubuntu 指纹无法识别 未解决。 由于我的Ubuntu并不是最新发行版(Ubuntu 21.10),所以可能存在这个问题。 Windows系统重装之后,无法引导进入Ubuntu 由于重装windows会更改EFI分区,导致无法电脑在开机时无法引导双系统。 开机F12进入引导盘,选择Ubuntu安装程序,选择Try Ubuntu(试用Ubuntu),在Ubuntu环境下安装boot repair软件修复引导即可。 Windows 11? 我最开始的方案是Windows 11+Ubuntu21.10双系统,可是windows下指纹一直录入不了,装了驱动更新bios都没用。我虽然不是完美主义者,但是每次开机都要输入一长串密码,我想我会疯掉的。于是便重新安装Windows 10。 至此,我的第二次难忘且恶心的Windows 11画上了完美的句号(第一次是在台式机,升级Windows 11使用了20分钟之后回退到Windows 10),再装Windows 11我就是🐶!

教程

ntfs硬盘无损转Ext4——记一次骚操作

前年买了一块Wd Elements 10T便携移动硬盘,由于当时是买来插Windows上,切该硬盘出场格式是NTFS,自然直接插上就能用了。但是最近我把它插到树莓派(Raspbian)上时,每次读取写入的速度都特别慢,更有甚者,连qBittorrent直接罢工,无法写入到硬盘。后来htop查看进程才知道有个ntfs-3g的进程,在读写时几乎占用了100%cpu(一核心)。 查资料得知,Linux系统在读取ntfs格式硬盘时,会调用ntfs-3g程序去实时转换。由于树莓派cpu性能一般,所以导致读写超级慢(20m/s)。于是便有了想将手头的影片转成Linux支持的ext4格式的想法。由于硬盘过大,里面的数据也太多,刚好遇上挖矿热,买不到比较便宜的硬盘,所以才有了这篇文章的骚操作。之所以称之为“骚操作”,是因为此篇文章所涉及到的无损转格式的方式虽说是某知名网站推荐的方式,但对于数据安全极不友好,不建议不了解硬盘、Linux系统相关知识的小白尝试。 如果你实在有需求要按照本文操作来转格式的话,由停电,电脑死机等一系列问题导致的数据丢失,本人概不负责! 主要流程 由于整个过程实在耗费时间和资源,这里先讲讲主要流程,在每个板块都会写出详细步骤,以及遇到的问题和解决方法。 Linux下停止正在使用该磁盘的进程,卸载磁盘 磁盘压缩主分区ntfs(分区N1),格式化出一个Ext4分区(分区E1) 将主分区的文件尽可能多的移动到Ext4分区,知道Ext4分区塞满 如果主分区还有文件,则重复2-3步骤,直到主分区文件全部被移动到新的分区。 格式化主分区为Ext4(N1),将临近主分区、存有数据的Ext4分区(E1)里面的全部数据移到主分区。 删除Ext4分区(E1),并将删除腾出来的空间去扩容主分区(N1) 如果之前有创建多个Ext4分区的话,重复5-6步骤,直到整个硬盘只剩一个Ext4分区即完工! 强烈建议数据在1/2磁盘空间以下,比如我10T硬盘4.7T数据,这样就可以只用分出一个区来保存数据就行,省了很多步骤。 卸载硬盘 为避免出现数据被更改的问题,先停止正在使用该硬盘的进程,然后使用umount命令卸载硬盘才进行数据转移的操作。 如上,如果使用umount卸载时出现“target is busy”,则说明该磁盘正在被进程占用,我们使用lsof查看占用的进程,将其关掉再卸载即可。 压缩分区(6h) 由于数据是散乱存放(非连续)在硬盘上的,所以导致我是用Windows磁盘管理工具去压缩卷的时候,本应该有5T空间剩余,磁盘管理工具却只能压缩出500G左右空间。 所以我使用DiskGenius工具,它应该是帮忙整理磁盘的内容尽量靠前且连续,然后再压缩卷。我这里使用DiskGenius可以压缩出4.55TB,耗时大概6小时。 压缩完成后,将新分区格式化为Ext4格式即可。Windows下无法识别,可以用DiskGenius软件看到新的分区。 数据转移(10h+23h) 考虑到稳定性,我原本打算用DiskGenius在windows下将ntfs分区的数据转移到ext4分区的,可这货居然提醒我 “该功能是Pro用户才能使用”,便转换思路,使用双系统的Ubuntu去操作转移。后来想想,Ubuntu远程操作也方便,应该为首选方案的,最后,我还是将硬盘插上我的Ubuntu,然后使用使用命令行在tmux下进行mv操作。操作完我就去上班了。 好景不长,等我回到家时,想查查进度的我却发现硬盘没了!然后键盘也失灵。仔细想想,既然硬盘已不存在挂载中,键盘也失灵,那我本着重启能解决99%问题的心态重启Ubuntu(对,就这么严谨...)。重启后,系统正常使用,然后查看日志,便发现HC died报错。 果然不是我一人,万能的网友也有遇到这个问题的,也给出了详细解决方案。 https://zhuanlan.zhihu.com/p/158688481 于是我重新运行mv命令去转移数据,由于之前已经转移过部分数据,所以只需要转移未转移的部分即可。 最后终于转移完成(我已经将ntfs分区格式化为Ext4了,第一个卷) 最后将清空的ntfs分区(N1)格式化为Ext4即可。 最后的数据转移(30h) 由于分区无法向前合并,我这里还是将tmp分区的内容全部转移到Elements分区。 考虑到复制任务占用电脑,便把硬盘插到树莓派上进行mv操作。(由于我的硬盘是外部供电,也不用担心供电不足或者其他问题) 此番很顺利,没有出现Ubuntu的HC died的报错,花费30小时终于将所有内容转移到第一个Ext4分区了。 分区合并(15mins) 首先卸载分区。然后使用fdisk进行分区合并的操作。 使用Linux下的fdisk命令操作。内容有点多,由于没有截图,这里不详细展开。 流程:删除第二个分区(9999999-66666666),再删除第一个分区(2048-9999999),最后新建一个分区(2048-66666666)即可。 注意:新建分区的时候,如果显示“已检测到文件系统,是否清空?”的提示,千万选择否,不然数据可能被清空。 最后,使用fdisk检查你的硬盘编号,再使用e2fsck来执行磁盘检测。最后使用resize2fs命令来扩容区分1即可。 至此,本文的ntfs无损转Ext4已完成,最后只需使用mount挂载在树莓派系统即可。 后记 本次是本人的作死之旅,望不要盲目跟从,数据无价,在对硬盘进行任何操作时,请提前备份。 由于读写“同时”进行,所以数据转移过程极慢,我这边WD Elements 10T硬盘拷贝5T大概30h,瞬时读写速度大概50m/s,该数据仅供参考。 如果你是和本人一样不怕丢失数据,手头有没有多的硬盘,并且ntfs格式的硬盘实在用不下去了,你可以跟着本文的操作去走,但是如出现数据丢失,本人概不负责。 最后,放几张图吧。 Windows SMB本地挂载 fdisk磁盘信息 读写速度测试 参考 https://recoverit.wondershare.com/partition-management/ntfs-to-ext4-easily.html#part3

教程

为宝塔面板升级Python3

python官方早在前年就宣布将于2020年不在维护python2,建议广大使用者将其更新至python3,今天查看宝塔后台状况,却发现好几台老旧的服务器都是使用的python2,查了下相关资料,官方也宣称支持python3,于是我便开始了我的升级之旅。 安装python3 新版本系统是默认自带python3的,查看是否支持python3可以使用python3命令。 返回正确的python版本则说明已经安装了python3,反之亦然。 apt安装(ubuntu debian...): yum安装(Centos, Rhel...): 安装依赖 安装完python3之后,默认会安装python包管理器pip。由于之前系统默认的pip为python2的包管理器,所以我们使用pip3命令来安装依赖即可。 无报错安装完成即可。 更改为默认的python版本 输入以上命令可以看到,当前python版本为python2,所以我们要将默认的python2改为python3。 删除python快捷方式,重新绑定python3到python即可,命令如下: 还有默认的包管理器pip也更改为pip3 重启面板 输入bt,按照命令行提示输入1(对应重启面板),无报错即为更换成功。 再次进入面板,可以看到已经更换为python3,至此大功告成。 遇到的坑 yum无法使用 更换默认的python到python3之后,Centos yum命令无法使用。 这是因为yum默认使用python2版本,所以我们要更改yum的python代码为python2 用vi编辑器将第一行改为python2然后退出保存即可