关于驱动

注:本文主要介绍什么是驱动及其作用

1、什么是驱动

当我们电脑上安装了显卡,网卡,声卡这些硬件以后,我们还安装了操作系统,我们的操作系统怎么去识别这些硬件呢,自然就是这些驱动了,驱动本身就是操作系统和硬件沟通的桥梁。

2、怎么打驱动

对于现在的操作系统,一般你在安装了以后,其在系统更新以后,会自动识别你电脑是的硬件(前提一般是大厂的),基本上不需要手动打驱动了,那么,在之前,安装驱动,一般是像驱动精灵,驱动大师,360驱动管家这些,你跑一次基本上就给你自动打上去了,还有一种就是自己去自己电脑的品牌官网上下载,然后手动下载对应的驱动,但是一般要下载好几个,基础的就是网卡,声卡,显卡驱动。

3、不打会有什么影响

现在其实影响很小了,在很早的时候,举一个例子,如果你电脑上不打网卡的驱动,那么,你的电脑上就算有WiFi的接收器,那么,你电脑上也连接不上WiFi,因为你的电脑上识别不了,其他的,还有比如游戏启动不了,组件缺失等下一系列问题。

4、对于现在

基本上我们现在不需要担心这些问题了,很多电脑现在出厂自带驱动了。

总结:对于现在基本不要担心了,只要不重装系统基本上就不会有打驱动的问题,可以说现在的操作系统已经方便了很多了。

Python 打包器 (GUI)

注:这是一个用于把 Python 脚本打包成可执行文件的可视化工具(基于 PyInstaller)。

项目地址:suyihang15/packager_gui: 一款可视化的python打包exe的工具

下载地址:https://github.com/suyihang15/packager_gui/releases/download/1.0.0/packager_gui.exe

主要特性:

  • 支持单文件(–onefile)和目录打包

  • 可选使用临时虚拟环境进行构建,避免本地环境污染

  • 可添加资源/文件夹、可选依赖 requirements.txt(会作为 --add-data 打包)

  • 简洁 GUI(基于 PySide6),若未安装 PySide6 会回退到 Tkinter 界面或提示安装

快速开始:

  1. 安装依赖(推荐在干净的虚拟环境中)
1
pip install -r requirements.txt
  1. 启动工具
1
python packager_gui.py

使用说明:

  • 在界面中选择主脚本(.py),设置输出目录、是否单文件、是否隐藏控制台等。

  • 若勾选“使用隔离虚拟环境构建”,工具会创建临时 venv、在其中安装 PyInstaller(和可选的 requirements),然后进行打包,最后清理临时目录。

  • 添加的资源/文件夹会作为 --add-data 加入,Windows 下路径分隔为 ;

文件说明:

  • packager_gui.py

    • 程序入口文件。

    • 运行后会导入 src.ui.run_app() 并启动打包器界面。

  • src/ui.py

    • GUI 前端逻辑。

    • 提供选择主脚本、输出目录、图标、依赖文件、资源列表等界面控件。

    • 处理用户操作并调用 src.core.run_packaging() 执行打包。

  • src/core.py

    • 打包后端逻辑。

    • 负责创建临时虚拟环境、安装 PyInstaller、安装可选依赖、生成 PyInstaller 命令并运行。

    • 支持 --onefile--windowed--icon--add-data 等参数。

  • main.spec

    • PyInstaller 的静态配置文件。

    • 定义了 AnalysisPYZEXE 等打包步骤。

    • 通过 console=False 控制生成的 exe 是否隐藏命令行窗口。

  • README.md

    • 当前项目说明文档。

    • 记录安装、运行和打包说明。

  • requirements.txt

    • 列出本工具运行所需的 Python 包依赖。
  • build/

    • 记录历史打包产物和中间文件。

    • 不属于源代码逻辑,主要是 PyInstaller 打包后的输出结果。

把本工具本身打包为 exe:

  1. 在项目根运行(示例)
1
python -m PyInstaller --onefile packager_gui.py

注意事项:

  • 打包目标程序时,外部依赖会被 PyInstaller 扫描并包含,但某些第三方包(如使用动态插件)可能需要额外的 hook 或手动 --add-data

  • 图标需为 Windows 下的 .ico 文件。

  • 其本身是基于pyinstaller对python文件进行打包,如果一点看不懂上面的内容,可以直接用本人打包好的exe文件,

软件示例: 

总结:这是本人为方便学习python的想要打包出自己的exe文件所搞的,希望可以帮助他人。

Python 打包器 (GUI)

注:这是一个用于把 Python 脚本打包成可执行文件的可视化工具(基于 PyInstaller)。

项目地址:suyihang15/packager_gui: 一款可视化的python打包exe的工具

下载地址:https://github.com/suyihang15/packager_gui/releases/download/1.0.0/packager_gui.exe

主要特性:

  • 支持单文件(–onefile)和目录打包

  • 可选使用临时虚拟环境进行构建,避免本地环境污染

  • 可添加资源/文件夹、可选依赖 requirements.txt(会作为 --add-data 打包)

  • 简洁 GUI(基于 PySide6),若未安装 PySide6 会回退到 Tkinter 界面或提示安装

快速开始:

  1. 安装依赖(推荐在干净的虚拟环境中)
1
pip install -r requirements.txt
  1. 启动工具
1
python packager_gui.py

使用说明:

  • 在界面中选择主脚本(.py),设置输出目录、是否单文件、是否隐藏控制台等。

  • 若勾选“使用隔离虚拟环境构建”,工具会创建临时 venv、在其中安装 PyInstaller(和可选的 requirements),然后进行打包,最后清理临时目录。

  • 添加的资源/文件夹会作为 --add-data 加入,Windows 下路径分隔为 ;

文件说明:

  • packager_gui.py

    • 程序入口文件。

    • 运行后会导入 src.ui.run_app() 并启动打包器界面。

  • src/ui.py

    • GUI 前端逻辑。

    • 提供选择主脚本、输出目录、图标、依赖文件、资源列表等界面控件。

    • 处理用户操作并调用 src.core.run_packaging() 执行打包。

  • src/core.py

    • 打包后端逻辑。

    • 负责创建临时虚拟环境、安装 PyInstaller、安装可选依赖、生成 PyInstaller 命令并运行。

    • 支持 --onefile--windowed--icon--add-data 等参数。

  • main.spec

    • PyInstaller 的静态配置文件。

    • 定义了 AnalysisPYZEXE 等打包步骤。

    • 通过 console=False 控制生成的 exe 是否隐藏命令行窗口。

  • README.md

    • 当前项目说明文档。

    • 记录安装、运行和打包说明。

  • requirements.txt

    • 列出本工具运行所需的 Python 包依赖。
  • build/

    • 记录历史打包产物和中间文件。

    • 不属于源代码逻辑,主要是 PyInstaller 打包后的输出结果。

把本工具本身打包为 exe:

  1. 在项目根运行(示例)
1
python -m PyInstaller --onefile packager_gui.py

注意事项:

  • 打包目标程序时,外部依赖会被 PyInstaller 扫描并包含,但某些第三方包(如使用动态插件)可能需要额外的 hook 或手动 --add-data

  • 图标需为 Windows 下的 .ico 文件。

  • 其本身是基于pyinstaller对python文件进行打包,如果一点看不懂上面的内容,可以直接用本人打包好的exe文件,

软件示例: 

总结:这是本人为方便学习python的想要打包出自己的exe文件所搞的,希望可以帮助他人。

关于操作系统的选用

注:以下仅代表我个人的看法,以及推荐的操作系统。

首先,选择windows,mac,Linux

windows

个人是觉得如果只是普通用户那么,基本上电脑上就选他就行了,因为,基本上市场上的电脑都是选用的Windows,这是没有什么好说的。

版本选择,10年上建议win7,10年内建议win10,最近几年用win11,如果想怀旧就装win xp(当然在虚拟机上),首先,10年以上的电脑,配置很差了,装老系统更加流畅,不建议装精简版,因为有的问题还是很多的,通过打补丁的方式,基本上电脑运行体验还是不错的,但是,steam已经不支持win7了,所以打游戏体验会有点差,其次,关于硬件,很多老电脑其硬件对与老系统是有一定优化的,所以,建议装老系统和打补丁,win10的话是10年以内的,其不再更新以后相信是绝大多数人的选择,至于为什么最近几年的电脑我还是建议安装win11,其本身电脑性能不错,现在的,没必要安装老系统,就正常最新的就行,如果觉得烦就把自动更新关闭就行,而且,一般新系统对与这些电脑配件适配还是不错的,而且真的,不要安装精简版本的系统,如果没有需求,问题还是有点多的。

mac

我觉得,更多的是适合轻打游戏和从事影乐以及代码相关的,其自带的剪辑很办公软件确实很好。

Linux

我很不建议一般的用户去使用他,如果想要尝鲜,就去试试虚拟机,不要在主力机安装,毕竟这玩意多数是给服务器这些使用的,

至于选择版本,如果新手上手,可以试试乌班图系统,这样有图形化界面的对与新手还是很友好的,不建议上手就是Arch很容易劝退的。

总结:当然,以上就是一个参考,真正的选择权在你自己,自己喜欢就行了。

关于操作系统的选用

注:以下仅代表我个人的看法,以及推荐的操作系统。

首先,选择windows,mac,Linux

windows

个人是觉得如果只是普通用户那么,基本上电脑上就选他就行了,因为,基本上市场上的电脑都是选用的Windows,这是没有什么好说的。

版本选择,10年上建议win7,10年内建议win10,最近几年用win11,如果想怀旧就装win xp(当然在虚拟机上),首先,10年以上的电脑,配置很差了,装老系统更加流畅,不建议装精简版,因为有的问题还是很多的,通过打补丁的方式,基本上电脑运行体验还是不错的,但是,steam已经不支持win7了,所以打游戏体验会有点差,其次,关于硬件,很多老电脑其硬件对与老系统是有一定优化的,所以,建议装老系统和打补丁,win10的话是10年以内的,其不再更新以后相信是绝大多数人的选择,至于为什么最近几年的电脑我还是建议安装win11,其本身电脑性能不错,现在的,没必要安装老系统,就正常最新的就行,如果觉得烦就把自动更新关闭就行,而且,一般新系统对与这些电脑配件适配还是不错的,而且真的,不要安装精简版本的系统,如果没有需求,问题还是有点多的。

mac

我觉得,更多的是适合轻打游戏和从事影乐以及代码相关的,其自带的剪辑很办公软件确实很好。

Linux

我很不建议一般的用户去使用他,如果想要尝鲜,就去试试虚拟机,不要在主力机安装,毕竟这玩意多数是给服务器这些使用的,

至于选择版本,如果新手上手,可以试试乌班图系统,这样有图形化界面的对与新手还是很友好的,不建议上手就是Arch很容易劝退的。

总结:当然,以上就是一个参考,真正的选择权在你自己,自己喜欢就行了。

系统信息采集器 GUI 版本

注:这是一个基于 Python 的桌面应用程序,用于可视化采集电脑系统信息,并将采集结果整理展示在窗口中。用户可以直接点击“采集信息”按钮,查看系统信息,并导出为 Excel 表格。

项目地址:suyihang15/system_info_gui: 一款基于Python的电脑信息搜集可视化工具

下载地址:https://github.com/suyihang15/system_info_gui/releases/download/1.0.0/system_info_gui.exe

功能特点

  • 可视化采集按钮:点击“采集信息”即可获取电脑信息

  • 直接展示:采集结果实时显示在应用窗口中,不使用 HTML/JS

  • 支持导出 Excel:将所有信息整理到 .xlsx 文件中,方便分享和保存

  • 支持 Windows 已安装程序信息采集

运行环境

  • Windows / macOS / Linux

  • Python 3.8 或更高版本

  • 安装依赖:psutil, openpyxl, pyinstaller(仅用于打包)

使用方法

  1. 打开 PowerShell,进入项目目录:
1
cd "d:\system_info_gui-main\system_info_gui-main"
  1. 安装依赖:
1
python -m pip install -r requirements.txt
  1. 启动应用程序:
1
python system_info_gui.py
  1. 在窗口中操作:
  • 点击“采集信息”按钮开始收集电脑信息

  • 等待窗口显示系统、CPU、内存、磁盘、网络、进程、环境变量等信息

  • 点击“导出 Excel”按钮,将当前结果保存为 .xlsx 文件

界面说明

  • 采集按钮:按下后程序会读取本机硬件和软件信息

  • 状态提示:显示当前是否已完成采集

  • 文本输出区域:按模块分节展示采集后的结果

  • 导出按钮:将全部信息写入 Excel,保存为表格文件

原理与思路

  1. psutil:获取CPU、内存、磁盘、网络、进程等系统信息

  2. socketplatform:获取主机名、操作系统与硬件类型

  3. os.environ:读取当前环境变量

  4. openpyxl:生成 Excel 文件并写入多张工作表

  5. tkinter:创建桌面 GUI 界面,显示结果并提供按钮操作

程序流程:

  • 用户点击“采集信息”按钮

  • 程序调用信息采集函数,构建一个字典报告

  • 将报告格式化为可读文本,显示在窗口中

  • 用户点击“导出 Excel”按钮,程序把每个信息模块写入不同工作表

打包成exe

直接使用 PyInstaller 命令

1
pyinstaller --onefile --noconsole --name SystemInfoCollector system_info_gui.py

如果希望带控制台窗口显示调试信息,可以去掉 --noconsole

文件说明

  • system_info_gui.py:主程序源码

  • requirements.txt:运行和打包所需依赖

  • README.md:项目说明与使用方法

成品展示

总结:这是本人写的,希望能帮到你。

系统信息采集器 GUI 版本

注:这是一个基于 Python 的桌面应用程序,用于可视化采集电脑系统信息,并将采集结果整理展示在窗口中。用户可以直接点击“采集信息”按钮,查看系统信息,并导出为 Excel 表格。

项目地址:suyihang15/system_info_gui: 一款基于Python的电脑信息搜集可视化工具

下载地址:https://github.com/suyihang15/system_info_gui/releases/download/1.0.0/system_info_gui.exe

功能特点

  • 可视化采集按钮:点击“采集信息”即可获取电脑信息

  • 直接展示:采集结果实时显示在应用窗口中,不使用 HTML/JS

  • 支持导出 Excel:将所有信息整理到 .xlsx 文件中,方便分享和保存

  • 支持 Windows 已安装程序信息采集

运行环境

  • Windows / macOS / Linux

  • Python 3.8 或更高版本

  • 安装依赖:psutil, openpyxl, pyinstaller(仅用于打包)

使用方法

  1. 打开 PowerShell,进入项目目录:
1
cd "d:\system_info_gui-main\system_info_gui-main"
  1. 安装依赖:
1
python -m pip install -r requirements.txt
  1. 启动应用程序:
1
python system_info_gui.py
  1. 在窗口中操作:
  • 点击“采集信息”按钮开始收集电脑信息

  • 等待窗口显示系统、CPU、内存、磁盘、网络、进程、环境变量等信息

  • 点击“导出 Excel”按钮,将当前结果保存为 .xlsx 文件

界面说明

  • 采集按钮:按下后程序会读取本机硬件和软件信息

  • 状态提示:显示当前是否已完成采集

  • 文本输出区域:按模块分节展示采集后的结果

  • 导出按钮:将全部信息写入 Excel,保存为表格文件

原理与思路

  1. psutil:获取CPU、内存、磁盘、网络、进程等系统信息

  2. socketplatform:获取主机名、操作系统与硬件类型

  3. os.environ:读取当前环境变量

  4. openpyxl:生成 Excel 文件并写入多张工作表

  5. tkinter:创建桌面 GUI 界面,显示结果并提供按钮操作

程序流程:

  • 用户点击“采集信息”按钮

  • 程序调用信息采集函数,构建一个字典报告

  • 将报告格式化为可读文本,显示在窗口中

  • 用户点击“导出 Excel”按钮,程序把每个信息模块写入不同工作表

打包成exe

直接使用 PyInstaller 命令

1
pyinstaller --onefile --noconsole --name SystemInfoCollector system_info_gui.py

如果希望带控制台窗口显示调试信息,可以去掉 --noconsole

文件说明

  • system_info_gui.py:主程序源码

  • requirements.txt:运行和打包所需依赖

  • README.md:项目说明与使用方法

成品展示

总结:这是本人写的,希望能帮到你。

taken(数字指纹记录)

注:这是一个用于直观表现你浏览网页时,网站的运营人员可以看见那些信息的网站。

网站地址:taken. — Since You Arrived Vol. IV

大致是这个样子,其后面就会自动显示你的一些信息了

源码下载

其作者原本并没有在GitHub上开源,但是其本身只是一个静态网页,所以只需要打开开发者模式直接就可以把源码下载下来。

总结:如果你想要看看一般访问网站其会可以看见那些内容,你可以试试,并分析源码。

taken(数字指纹记录)

注:这是一个用于直观表现你浏览网页时,网站的运营人员可以看见那些信息的网站。

网站地址:taken. — Since You Arrived Vol. IV

大致是这个样子,其后面就会自动显示你的一些信息了

源码下载

其作者原本并没有在GitHub上开源,但是其本身只是一个静态网页,所以只需要打开开发者模式直接就可以把源码下载下来。

总结:如果你想要看看一般访问网站其会可以看见那些内容,你可以试试,并分析源码。

编译自己的操作系统(基于Linux)

注:本文主要介绍如何基于Linux的内核编译一个最简单的操作系统,编译Linux内核+BusyBox,制作可启动迷你Linux系统

1、环境准备

wsl –install(在windows安装Linux的环境)

2、编译步骤

一、更换国内软件源(解决下载慢)

备份原有软件源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak  

作用:备份系统默认源,后续出错可以恢复

写入阿里云高速镜像源

sudo tee /etc/apt/sources.list > /dev/null << ‘EOF’
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
EOF  

作用:替换国外源,大幅加快软件下载速度

更新软件仓库

sudo apt update

sudo apt upgrade -y  

作用:刷新源缓存,升级系统基础软件

二、安装全套编译依赖环境

sudo apt install -y gcc make flex bison libncurses-dev cpio xorriso grub-common grub-pc-bin grub-efi-amd64-bin libelf-dev libssl-dev bc wget qemu-system-x86  

作用介绍

  •  gcc/make :C语言编译工具

  •  flex/bison :内核语法编译依赖

  •  libncurses-dev :图形配置界面依赖

  •  cpio/xorriso :打包文件、制作ISO镜像

  •  grub系列 :系统引导必备工具

  •  qemu-system-x86 :虚拟机运行自制系统

三、创建专属编译工作目录

mkdir -p ~/mini_os

cd ~/mini_os  

作用:统一存放源码、编译文件,路径干净无权限冲突

四、编译Linux原生内核

下载Linux内核源码(阿里云镜像)

wget https://mirrors.aliyun.com/linux-kernel/v6.x/linux-6.1.tar.xz  

解压内核源码

tar -xf linux-6.1.tar.xz  

进入内核源码目录

cd linux-6.1  

生成内核默认配置

make defconfig  

作用:自动生成通用电脑适配内核配置,新手无需手动修改

多核全速编译内核

make -j$(nproc)  

作用:调用电脑全部CPU核心编译,提升编译速度
编译完成产物: arch/x86_64/boot/bzImage  内核镜像

返回上级目录

cd ..  

五、编译BusyBox极简命令工具箱

BusyBox集成ls、cd、mkdir等所有Linux基础命令

下载BusyBox源码

wget https://busybox.net/downloads/busybox-1.36.1.tar.bz2  

解压源码

sudo apt install -y bzip2(下载解压软件)

tar -xf busybox-1.36.1.tar.bz2  

进入BusyBox目录

cd busybox-1.36.1  

生成默认配置

make defconfig

开启静态编译(核心关键)

sed -i ‘/CONFIG_STATIC=/d’ .config
echo “CONFIG_STATIC=y” >> .config  

作用:编译成独立静态程序,不依赖系统动态库,迷你系统可直接运行

多核编译BusyBox

make -j$(nproc)  

安装编译好的命令工具

make install  

作用:命令全部输出到 _install 目录,作为系统基础命令集

返回上级目录

cd ..  

六、搭建迷你Linux根文件系统

创建根文件系统文件夹

mkdir rootfs  

拷贝BusyBox所有命令到根系统

cp -r busybox-1.36.1/_install/* rootfs/  

创建系统必备空目录

mkdir -p rootfs/{dev,proc,sys,etc}  

作用:dev设备目录、proc系统信息目录、sys硬件目录

创建系统必要设备文件

sudo mknod rootfs/dev/console c 5 1
sudo mknod rootfs/dev/null c 1 3  

作用:控制台终端、空设备,系统启动必需

配置系统开机自动启动终端

echo ‘::askfirst:-/bin/sh’ > rootfs/etc/inittab  

作用:系统开机直接进入命令行终端

七、打包内核内存文件系统

进入根文件系统目录

cd rootfs  

打包压缩为initramfs启动文件

find . | cpio -o -H newc | gzip > ../initramfs.cpio.gz  

作用:把整个根系统打包,让内核启动时加载

返回上级目录

cd ..  

八、制作GRUB引导启动ISO镜像

创建ISO镜像目录结构

mkdir -p iso/boot/grub  

拷贝内核与启动文件到ISO目录

cp linux-6.1/arch/x86_64/boot/bzImage iso/
cp initramfs.cpio.gz iso/  

编写GRUB系统启动菜单

cat > iso/boot/grub/grub.cfg << ‘EOF’
menuentry “My Self Linux” {
linux /bzImage
initrd /initramfs.cpio.gz
}
EOF  

作用:虚拟机启动时显示系统选项,指定内核与根文件系统

生成最终可启动ISO镜像

grub-mkrescue -o mylinux.iso iso  

生成文件: mylinux.iso  自制完整Linux系统镜像

其是可以直接安装在虚拟机上的

总结:其用Linux搭建操作系统本身不难,因为已经用很成熟的内核这些了,但本身还是调用别人的东西,希望后面有人能完整的搞出完整的独立操作系统吧。