分类: 其他文档

  • Vmware-vmware17去虚拟化教程

    一、准备工作

    经过测试,Windows 10、Windows 11系统均适用此教程

    VMware软件

    网转激活码:
    16.1.2版本: YF390-0HF8P-M81RQ-2DXQE-M2UT6

    17.0.0版本: MC60H-DWHD5-H80U9-6V85M-8280D

    如果电脑安装了别的版本,需要清理干净(卸载+清理注册表)

    Windows系统镜像文件

    需要用到的工具:

    WinHEX,十六进制编辑器,绿色软件,无需安装

    BIOS Editer,需要安装,在“工具”中。注意安装目录(AppData),不然会出现“错误代码75"

    二、安装虚拟机系统并拷贝文件

    打开VM软件,文件,新建虚拟机

    选择自定义,兼容性默认即可,选择“安装程序光盘映像文件”然后找到你需要的系统镜像文件

    产品密钥不填,设置“全名”,如“MF-PC”

    虚拟机名称可以设置,如“MF-VM”,安装位置随意,

    固件类型选择BIOS

    处理器数量选择1,每个处理器的内核数量选择4,该行可以按照需求自行更改内存选择4GB(4096MB),

    该行可以按照需求自行更改使用网络地址转换,LSI Logic SAS

    硬盘建议使用IDE格式,新建虚拟磁盘,磁盘大小256GB(可以按照需求自行更改)

    将虚拟磁盘储存为单个文件(单个文件和多个文件没有什么区别,只是更简洁)

    不建议勾选“立即分配所有磁盘空间”

    磁盘创建之后,不要点击完成,点击“自定义硬件”按照自己需求更改一下

    比如:

    开启处理器的“虚拟化Intel VT-x或AMD-V/RVI“

    删除打印机,

    显示器设置图形内存1GB

    取消勾选“在虚拟机中自动调整用户界面大小勾选“拉伸模式”,

    选择“保持纵横比拉伸"同时在虚拟机软件 “编辑” 、“首选项” “显示” 中取消“自动适应窗口”,这样可以避免虚拟机软件窗口大小自动变化

    点击关闭,点击完成,开启虚拟机进行配置

    打开虚拟机,用“虚拟机检测工具”检测一下更改之前的样子,便于与更改后进行对比(可以不做)

    三、用WinHEX修改vmware-vmx.exe(虚拟机环境的启动文件)

    在HEX中更改的时候,我们选择的是十六进制模式,所以左侧是十六进制代码,右侧是ASC字符串模式(所以右侧乱码)

    修改的时候,要注意修改的位置,不要改错地方

    为了方便操作,我直接将修改的地方写在文本中

    修改硬盘

    以三星的硬盘为例,可以自行更换别的硬盘品牌及型号

    IDE格式

    十六进制搜索起始基址: 25732E656E61626C(偏移地址:9A000F)

    将右侧ANSI视图的VMware Virtual IDE Hard Drive

    改为Samsung SSD 860 EVO 120GB

    硬盘000000自定义修改,注意: 字数对齐,不要打多

    SCSI格式

    十六进制搜索564D776172652C20496E632E(偏移地址:95DD40)

    将VMware, Inc.修改为硬盘品牌Samsung

    十六进制搜索564D77617265205669727475616C2053(偏移地址9A3FA8)

    将VMware Virtual SCSI Hard Drive改为Samsung SSD 860 EVO 120GB

    SATA格式

    十六进制搜索534154412048617264204472697665(偏移地址:9D9B30)

    将VMware Virtual SATA Hard Drive改为Samsung SSD 860 EVO 120GB

    NVMe格式

    十六讲制搜索4E564D65204469736B(偏移地址99BC8F)

    将VMware Virtual NVMe Disk改为Samsung SSD 860 EVO 120GB

    这里如果过长,可以把后面的1.0顶掉

    修改声卡

    搜FFBAAD15,AD15(偏移地址2870C7)改为EC10,7719(偏移地址2870CD)改为8680

    再搜FFBAAD15,AD15(偏移地址2872B1)改为EC10,7719(偏移地址2872B7)改为8680

    搜43047519AD15(偏移地址289054),上下AD15改为8680,上偏移地址289047,下偏移地址289057

    修改网卡

    搜66894717,AD15改为8680

    内存地址(WinHEX软件底部的偏移地)86DF98,

    VM16.2.4搜索8F3AD8 VM17.0.0搜索94FF58

    AD15改为DE10(16.1.2,修改网卡制造商,HEX中上下有很多0)

    修改主板芯片组

    搜86809071(偏移地址:CE2501),9071改为DE10

    修改显卡

    搜8002b8ad15,( VM17.0为F3AAB8AD15(偏移地址:237d89)),AD15改为DE10,

    然后修改下面的05 04 偏移地址是237DF2

    按显卡ID反着来改(因为十六进制的读取规则是从右到左)

    举例: 3080的显卡代码是: NVIDIA DEV.2216 ="NVIDIA GeForce RTX 3080"22 16反过来就是16 22

    注意:同样的方法,改别的显卡也行,但是要注意后面的驱动要跟这里对应。其他显卡代码可以在设备管理器,右键显卡属性,点击硬件ID查看

    注意 vmware-vmxexe不能更改的地方

    876B68 564D77617265 改了密钥失效

    9C0019 564D77617265 改了密钥失效

    A6947E 564D77617265 改了感钥失效

    2B31AF AD15 改了虚拟机鼠标会卡退

    四、用BIOS Editer修改BIOS.440.ROM

    更改BIOS文件是为了去除主板型号中的VM标识

    复制“X64”文件夹中的“BIOS.440.ROM”做一个备份,然后用Bios Editer打开BIOS.440.ROM文件,打开软件时如果提示 You're running Phoenix BIOS Editor Pro under a DBCSOS which may cause unexpected errors.Continue? 选yes即可

    由于软件不支持拖拽,需要点击左上角的第一个图标按钮选择文件

    以华硕的主板为例,大家可以按照需求修改合适的主板品牌及型号

    选取 DMI Strings 窗口

    将里面的参数修改为下方的参数,每行都要对应

    'ASUSTeK COMPUTER INC'
    'ROG STRIX B550-A GAMING'
    'To be filled by O.E.M'
    'To be filled by O.E.M'
    'ASUS, Inc.'
    'All Series'
    'To be filled by O.E.M'
    'To be filled by O.E.M'
    'To be filled by O.E.M'
    'To be filled by O.E.M'
    'To be filled by O.E.M'
    'To be filled by O.E.M'
    00h, 00h, 00h,00h,00h, 0h,00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h

    修改完后点击左上角File选择Build BIOS,第一个提示是是否检查文件,选择否,然后第二个提示是提示收否保存文件,选择是,然后选择保存路径,不能覆盖源文件,要新建文件夹保存

    五、修改虚拟机配置

    替换文件

    将修改好的vmware-vmx.exe与BIOS.440.ROM的文件覆盖到虚拟机X64目录下

    修改虚拟机配置文件

    注意:记住“#”的位置,后面会用到(不要记monitor,因为有好几个,要记住后面的backdoor)

    将以下3行代码复制到虚拟机的vmx配置文件

    cpuid.1.ecx = "0--------------0----------------"
    cpuid.1.edx = "-----------0---------0----------"
    #monitor_control.restrict_backdoor = "TRUE"

    六、虚拟机系统修改1(打显卡)

    进入高级选项“按住shift再重启”

    禁用驱动程序强制签名(按数字7)

    然后打开“设备管理器”,选择显卡,点击驱动程序,更新驱动程序,浏览电脑查找,选让我从计算机….列表中选取,从磁盘安装,浏览到复制进去的vm3d原版驱动选择vm3d.inf文件,点击下一步,弹出不推荐安装选择是即可。

    然后再复制一份VM驱动,更改vm3d.inf最后的DiskID、CompanyName、SVGA

    注意:一定要跟修改1里面的显卡对应,比如我前面改的是3080,我就要改成

    DiskID = "NVIDIA GeForce RTX 3080"
    CompanyName = "ASUS, Inc."
    SVGA = "NVIDIA GeForce RTX 3080"

    保存文件之后再重复安装一遍修改过的,有提示时要选择是

    修改注册表regedit,

    Win+R,输入regedit打开注册表(用于存储系统和应用程序的设置信息)

    依次找到:计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class{4d36e968-e325-11ce-bfc1-08002be10318}

    找到你的显卡位置,然后把带有VM标识的用NVIDIA GeForce RTX 3070 Ti改掉

    导出注册表(别都导出,导出这个分支就行),命名随便。

    用导出的注册表替换“reg&bat”里面的“MF-StartRegedit.reg”(注意看操作:右键,编辑)

    然后将“MF-StartRegedit.reg”放到Windows文件夹

    将“reg&bat”里面的“MF-Start.bat”拷贝到系统启动目录C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

    控制面板\系统和安全\安全和维护,点安全右边的三角号,用户账户控制(UAC)更改设置为“从不通知”

    原理: 正常情况下,安装完显卡驱动,每次重启芯片类型都会变回去,只能重新修改注册表,制作bat文件相当于不用每次手动更改了

    重启,检查更改完成(可以不重启)

  • Openwrt – 路由刷机-小米路由pro,刷Breed以及刷openwrt

    小米Pro(R3P)刷入Breed操作步骤

    一、先将路由器升级为开发版本

    登入192.168.31.1,常用设置-系统状态-手动更新 直接把下载下来的后缀名为bin开发版固件上传并更新, 等待路由器重启即可! 进入开发版固件下载地址选择ROM,找到路由型号的开发版固件进行下载

    二、开启SSH权限

    设置好路由器能上网,用手机下载小米WIFI应用,登陆账号进行绑定路由器。 绑定完成后进入小米开放平台的开启ssh工具网址开启ssh工具网站登录完成后下载开启工具包,并记录好root密码

    按照官方给出的使用方法完成ssh开启的操作

    三、刷入Breed控制台前检查、备份

    用ssh工具(Xshell、cmd等工具)连接路由器进入到命令模式 用户名:root 密码:官网给出密码 如果登入遇到错误:Unable to negotiate with … 需要手动指定oKexAlgorithms

    ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 root@192.168.31.1

    登入后先使用命令检查闪存

    dmesg | grep "Manufacturer ID:"


    Manufacturer ID: 后面跟着的是制造商ID, ESMT芯片的“制造商ID”为0xc8,而美光的芯片的“制造商ID”为0x2c。 确保闪存品牌为ESMT芯片

    这一步骤主要是因为有人发现使用美光NAND芯片的型号的问题。特别是那些有坏块的。在刷固件之前,请确保您的NAND芯片是由ESMT制造的,然后再安装OpenWrt(或者,您已经焊接了引脚,并备有UART,以防万一。)

    在命令下输入cat /proc/mtd得到分区情况(如下):

    root@XiaoMi:~# cat /proc/mtd
    dev: size erasesize name
    mtd0: 07f80000 00020000 "ALL"
    mtd1: 00080000 00020000 "Bootloader"
    mtd2: 00040000 00020000 "Config"
    mtd3: 00040000 00020000 "Bdata"
    mtd4: 00040000 00020000 "Factory"
    mtd5: 00040000 00020000 "crash"
    mtd6: 00040000 00020000 "crash_syslog"
    mtd7: 00040000 00020000 "reserved0"
    mtd8: 00400000 00020000 "kernel0"
    mtd9: 00400000 00020000 "kernel1"
    mtd10: 02000000 00020000 "rootfs0"
    mtd11: 02000000 00020000 "rootfs1"
    mtd12: 03580000 00020000 "overlay"
    mtd13: 012a6000 0001f000 "ubi_rootfs" (不存在的话忽略!)
    mtd14: 030ec000 0001f000 "data" (不存在的话忽略!)

    首先先备份,把U盘(FAT/FAT32格式)插入到路由, 然后用命令输入【df -h】查看查看U盘的分区路径 或者输入"cd /"回车,再输入"ls -a"查看到extdisks文件, 再"cd extdisks"进入到extdisks文件里用"ls -a"就能查看到你的U盘路径, 我的是sda4,以下以我自己U盘的路径为例: 备份(请自行修改回你自己的U盘路径):

    dd if=/dev/mtd0 of=/extdisks/sda1/ALL.bin
    dd if=/dev/mtd1 of=/extdisks/sda1/Bootloader.bin
    dd if=/dev/mtd2 of=/extdisks/sda1/Config.bin
    dd if=/dev/mtd3 of=/extdisks/sda1/Bdata.bin
    dd if=/dev/mtd4 of=/extdisks/sda1/Factory.bin
    dd if=/dev/mtd5 of=/extdisks/sda1/crash.bin
    dd if=/dev/mtd6 of=/extdisks/sda1/crash_syslog.bin
    dd if=/dev/mtd7 of=/extdisks/sda1/reserved0.bin
    dd if=/dev/mtd8 of=/extdisks/sda1/kernel0.bin
    dd if=/dev/mtd9 of=/extdisks/sda1/kernel1.bin
    dd if=/dev/mtd10 of=/extdisks/sda1/rootfs0.bin
    dd if=/dev/mtd11 of=/extdisks/sda1/rootfs1.bin
    dd if=/dev/mtd12 of=/extdisks/sda1/overlay.bin
    dd if=/dev/mtd13 of=/extdisks/sda1/ubi_rootfs.bin
    dd if=/dev/mtd14 of=/extdisks/sda1/data.bin

    备份到最后一个mtd14可以会出现如下出错提示:

    dd: can't open '/dev/mtd14': Device or resource busy

    该分区备份不成功无所谓,关键的mtd0-mtd4备份下来就行了。

    如果还在官版的固件下想恢复的,可使用如下命令:

    恢复(这里我们不需要该步骤,只是给有需要的人看的官版固件下的恢复步骤)

    mtd write /extdisks/sda4/Bootloader.bin Bootloader
    mtd write /extdisks/sda4/Config.bin Config
    mtd write /extdisks/sda4/Bdata.bin Bdata
    mtd write /extdisks/sda4/Factory.bin Factory
    mtd write /extdisks/sda4/crash.bin crash
    mtd write /extdisks/sda4/crash_syslog.bin crash_syslog
    mtd write /extdisks/sda4/reserved0.bin reserved0
    mtd write /extdisks/sda4/kernel0.bin kernel0
    mtd write /extdisks/sda4/kernel1.bin kernel1
    mtd write /extdisks/sda4/rootfs0.bin rootfs0
    mtd write /extdisks/sda4/rootfs1.bin rootfs1
    mtd write /extdisks/sda4/overlay.bin overlay
    mtd write /extdisks/sda4/ubi_rootfs.bin ubi_rootfs  (不存在的话忽略!)
    mtd write /extdisks/sda4/data.bin data  (不存在的话忽略!)

    (至此备份部分全部结束,妥善保存备份文件)

    四、刷入BREED

    breed-mt7621-xiaomi-r3g-r3p.bin
    Breed文件下载

    下载Breed文件后,使用工具上传到路由器的/tmp的文件夹中,注意协议要要用scp,端口为22,可以直接使用cmd的scp命令进行上传(需要先切换到breed.bin的文件目录下)

    scp ./breed-mt7621-xiaomi-r3g-r3p.bin root@192.168.31.1:/tmp/

    上传后,使用putty登陆路由器,使用cd /tmp进入tmp目录, 执行下面代码进行刷入:

    mtd -r write /tmp/breed-mt7621-xiaomi-r3g-r3p.bin Bootloader

    刷入后,等待几分钟,机器会重启。(注意:需要注意breed的大小写需一致) 重启完成后就可以进行下一步

    五、刷入openwrt固件或其他第三方固件

    进入Breed Web方法

    拔掉电源,先用硬物顶住路由器reset键

    再给路由器通电,等到路由器灯闪的时候(大概3秒即可)

    松开reset键,电脑上在浏览器中输入192.168.1.1,访问不了请设置自己的电脑IP为192.168.1.2

    就进入breed控制台了

    进入breed控制台后先添加xiaomi.r3g.bootfw环境变量,值为2

    添加完成后重启一次,重新进入breed

    点击固件更新,选择kernel的固件,内存布局要选择第二个

    添加完毕后点击上传,更新

    将电脑IP改为自动获取,然后等待路由重启完毕后用浏览器访问192.168.1.1,建议先把Wan口网线拔掉

    默认没有密码,直接点击login即可

    登入后要再次上传并更新一次正常的Sysupgrade固件,具体上传位置如下

    要选择不保存设置更新

    等待重启完毕后,重新进入192.168.1.1,设置一下Lan的IP,防止冲突

    点击Lan为止的edit进行编辑

    修改红框中的IP地址,只要不与其他网络段冲突即可

    改完Lan地址点save,并点击下方的更新并应用

    弹出的框中,要点击红色按钮,否则会保存失败

    插上Wan口网线,等待IP刷新即可。然后就可以随意折腾啦!!!

  • docker命令

    创建容器

    docker-machine create -d virtualbox default
    docker-machine create -d virtualbox 容器名称

    创建容器并指定默认镜像源为163镜像源

    docker-machine create --engine-registry-mirror=http://hub-mirror.c.163.com -d virtualbox default
    docker-machine create --engine-registry-mirror=http://hub-mirror.c.163.com -d virtualbox 容器名称

    删除容器

    docker-machine rm default
    docker-machine rm  容器名称

    登陆容器主机

    docker-machine ssh default
    docker-machine ssh 容器名称
  • docker – 错误解决-Kitematic打开错误-Hostname/IP doesn’t match certificate’s altnames错误

    Kitematic打开错误

    错误代码:Hostname/IP doesn\’t match certificate\’s altnames

    错误情况:打开Kitematic,启动到99%的时候,提示 Hostname/IP doesn\'t match certificate\'s altnames. IP: 192.168.99.101 is not in the cert\'s list: 192.168.99.100

    错误原因:默认容器IP变动,导致Kitematic无法连接

    1.打开Docker Quickstart Terminal

    2.运行命令

    docker-machine regenerate-certs

    3.重启Kitematic,或者在报错页面上点击RETRY SETUP 成功!

  • Windows部署WNMP

    系统需要安装好vc++2013 2019运行库 下载地址: https://support.microsoft.com/zh-cn/topic/%E6%9C%80%E6%96%B0%E6%94%AF%E6%8C%81%E7%9A%84-visual-c-%E4%B8%8B%E8%BD%BD-2647da03-1eea-4433-9aff-95f26a218cc0

    提前规划目录

    下载nginx php mysql\mariadb的安装包 :

    nginx下载地址: http://nginx.org/download/nginx-1.20.1.zip

    php下载地址: https://windows.php.net/downloads/releases/php-7.4.21-Win32-vc15-x64.zip

    masql 5.3下载地址: https://downloads.mysql.com/archives/community/

    mariadb下载地址: https://downloads.mariadb.org/

    下载完成后解压到对应目录 添加系统环境变量并重启计算机 此步做不做都行

    变量名称:PHP_HOME   变量值:php安装目录
    变量名称:mysql      变量值:mysql安装目录\bin或mariaDB安装目录

    mysql安装: 到安装目录的bin目录下执行下面命令进行安装并启动

    mysqld -install
    mysqld --initialize
    net start mysql

    启动后到安装目录下的data目录,打开后缀 .err的文件,搜索temporary password找到初始密码 2021-06-30T09:10:35.183179Z 1 [Note] A temporary password is generated for root@localhost: FWT(CMD命令行输入mysql命令即可进入)

    mariadb安装: 到安装目录的bin目录下执行下面命令进行安装并启动

    `mysqld --install mariadb`

    net start mysql mariadb未安装的服务名 默认无密码 直接空密码登陆 MariaDB的默认编码是latin1,插入中文会乱码,因此需要将编码改为utf8。登陆后,进入mysql数据库,执行命令:show variables like \'character%\' 来查询当前mysql数据库的所有属性的字符编码