小记录

记录一下PVE环境的搭建过程

0 条评论 默认分类 小记录 Yunoon

前言

继硬件更新后,就可以做黑果了,前期起初打算是做物理机的黑果的,始终不成功,后面发现是镁光固态的缘故导致的(这个问题我以前在装笔记本的黑果时也遇到过)。

在以前机缘巧合下,观看了国光师傅的PVE环境搭建,感觉很酷,在不追求极致的性能下,我就选择了PVE来搭建。

硬件配置

CPU: i5 8600k
内存: 16G+8G+8G
主板:MSI Z370 银蛇环 GAMMING
硬盘(PVE系统):凯侠 RC10 1T
显卡1(windows游戏):Nvidia GTX1060 5G
显卡2(macOS): AMD RX580 2304SP 8G
电源:鑫谷 650W
网卡:BCM94360CD
硬盘:西数 1T+2T、影驰240G(存放原神)
显示器1:DELL 2404
显示器2:DELL 2304
机箱:先马 黑洞

PVE虚拟设备

目前除了2台虚拟化的主力设备以外,我还将以前vmware中的虚拟机也迁移到了PVE上,以及一台群晖。

各个虚拟机搭建环节

macOS

前言

基本上是参考了国光师傅的整个流程,需要的是仔细,但由于粗心没有照着一步一步的点点点,甚至还额外学到了一些东西。

正文

镜像准备
  • macOS系统镜像
  • open core的引导镜像
  1. macOS的系统镜像,因为手头只有黑果小兵的打包镜像,只有黑果小兵的打包镜像,这种镜像是无法直接用OC引导的,需要刷入U盘才行。 我这是直接拿的官方的GitHub项目直接编译的。
  2. 官方镜像GitHub地址:https://github.com/thenickdude/OSX-KVM
    git clone https://github.com/thenickdude/OSX-KVM
    cd OSX-KVM
    cd scripts monterey
    make Monterey-recovery.img
    

    最终在当前make的目录会得到镜像文件

    将dmg改为iso后上传镜像即可。
创建虚拟机
  1. open core的引导镜像
    opencore的镜像直接从GitHub release下拿就行
    https://github.com/thenickdude/KVM-Opencore/releases

    解压后,上传即可。

  2. 避免安装时的循环死机,进PVE中,给配置文件添加参数。

    echo "options kvm ignore_msrs=Y" >> /etc/modprobe.d/kvm.conf && update-initramfs -k all -u
    reboot
    
  3. 然后就是添加引导、创建虚拟机的一个过程了,和物理机的黑果类似。

    更改名称、VM-ID即可,这里的VM-ID是唯一标识码。

  4. 选择opencore作为光盘镜像

    系统选择othoer

  5. 系统配置,显卡选用vmware兼容,其实默认也行
    Bios选用OVMF(UEFI),机器架构是q35

  6. 硬盘类型选择VirtoIO Block,缓存为Write back,硬盘大小请随意(最好不要低于128G,当然你如果硬要把应用全塞另外的盘,那就是你对)。

  7. CPU类型选Penryn,核心也是看着给,开启NUMA2.

  8. 内存最好不要低于8G,这里只能填MB,所以说1024*N这样。

  9. 网卡类型选择半虚拟化

  10. 再添加一块硬盘,目前我们只有引导盘,没有系统镜像盘。

配置修改

  1. 之后,进PVE系统,nano更改一下磁盘的类型,改为cache=unsafe

    nano /etc/pve/qemu-server/<VM-ID>.conf 这里的VM-ID就是开头创建的VM-ID。
    
    



    再添加CPU信息

    INTEL: args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -cpu host,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc
    
    AMD: args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -cpu Penryn,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+avx2,+aes,+fma,+fma4,+bmi1,+bmi2,+xsave,+xsaveopt,check
    

    然后control + O,回车键保存文件,control + X,退出nano。
    最终的配置文件就是下面这样

  2. 进入选项中,更改一下引导顺序。

    将opencore引导盘放置最前面。

启动虚拟机

  1. 点击启动后,成功启动,接下来就是黑苹果系统的正常安装操作。(以下仅截图就不做说明了)








    等待完毕后,进入系统即可,这里的时间没这么久,具体要取决于硬盘性能。

  2. 重启后,选择macOS installer

  3. 依旧会再次重启,这里在选择macOS installer

  4. 成功安装后,选择macOS启动即可。

安装完成

  1. 安装完成后,根据引导选择相关的配置进去即可,不要登录账号、不要登录账号、不要登录账号!!!,因为这里的三码是默认的,有风险。



  2. 安装完成

显卡直通

  1. 其实可以直接看国光师傅的了,直接添加PCI硬件就行了。

  2. 关闭显示的vmware兼容即可,因为RX580免驱,黑果的常识就不多说了。

  3. 之后我们需要注意一个点,因为没了vnc,我们需要直通一套键鼠才行。

    选择USB端口,关闭USB3.0、关闭USB3.0、关闭USB3.0、关闭USB3.0,这里也是个坑点,开了直接进不去系统就黑了。

  4. 这里的显卡已经成功驱动了。

网卡直通、蓝牙

和显卡一样的操作,直接添加即可。

蓝牙在USB设置中,同样添加即可。

关机相关

出现问题的话直接选择关闭主机,不要选关机,因为是other系统,PVE没有关闭系统的指令。

EFI配置

  1. 然后就是黑果的基本操作了,改三码、启动时间啥的。
  2. 这里就不多说了。(摆

windows

前言

windows虽然没这么多讲究,但我开始装的时候也遇到了点麻烦。

镜像准备

windows镜像
virtio 驱动镜像

windows镜像 https://www.microsoft.com/zh-cn/software-download/windows10

virtio官方镜像 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.215-2/virtio-win-0.1.215.iso

安装

  1. 安装就直接把windows镜像作为引导盘启动
  2. 把virtio挂载就行

GTX1060 直通

跟着掘金上的一篇文章成功驱动
没有用到vbios,就添加了下配置。
https://juejin.cn/post/7101389906043207694#heading-4

  1. 看pci地址
    lspci -v
  2. 查看显卡的具体路径
    lspci -n -s 82:00
    lspci -n -s 82:00
    
  3. 开启iommu和pci相关配置
    nano /etc/default/grub
    修改
    GRUB_CMDLINE_LINUX_DEFAULT="quiet"
    修改为
    GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off video=efifb:off vfio-pci.ids=10de:1c04,10de:10f1"
    保存、退出
    
  4. 更新grub启动
    update-grub
  5. 加载vfio驱动
    nano /etc/modules
    添加以下内容
    vfio
    vfio_iommu_type1
    vfio_pci
    vfio_virqfd
    保存、退出
    
  6. 更新配置,重启
    update-initramfs -u -k all && reboot now
  7. 禁止host驱动GPU
    nano /etc/modprobe.d/pve-blacklist.conf
    options vfio_iommu_type1 allow_unsafe_interrupts=1
    options kvm ignore_msrs=1
    options kvm-intel nested=Y
    blacklist nouveau
    options nouveau modeset=0
    blacklist nvidiafb
    blacklist amdgpu
    blacklist radeon
    blacklist nvidia
    blacklist snd_hda_codec_hdmi
    blacklist snd_hda_intel
    blacklist snd_hda_codec
    blacklist snd_hda_core
    
    保存、退出
    
  8. 更新配置
    update-initramfs -u -k all && reboot now

成功驱动

Vmware迁移

前言

这里也耽搁了大半天,主要问题是在vmdk文件的完整性,和硬盘的类型。

  1. vmdk的话有两种方法
    1. 直接将以前的vmdk复制出来,但有些虚拟机的vmdk是分片的,所以需要用工具进行整合,可以看我另一篇文章。
      https://yuno0n.top/index.php/archives/60/
    2. 我是用vmware导出ovf后(直接导出的vmdk无法使用),导入macOS里的vmware实现合并的,当时忘了可以用工具合并,导致用了2倍的时间。
  2. 硬盘类型先选IDE,成功驱动后,进系统,添加相关参数,就可以开启SCSI咯。

群晖

前言

群晖在zy的帮助下,一波点亮,没什么问题,就不多说了。


Miku 15th,生日快乐!

0 条评论 默认分类 小记录 Yunoon

每年例行活动

未命名作品 3

一年画得比一年烂

我就烂,你也烂,一起烂死。


在kali 中安装pd tools遇到的问题

0 条评论 笔记 小记录 Yunoon

前言

《关于我PD被自己搞坏了重装这件事》
环境:
macOS 11.6
PD 17.1
kali 2022

正文

  1. 点击安装pd tools

  2. 把挂载盘中的数据拷贝出来

  3. 给该目录对应的权限chmod 777 -R ./cdrom0

  4. 安装dkms apt install dkms

  5. 查看内核版本uname -r

  6. 下载对应版本3个内核文件下载链接


    1. headers-common

    2. headers-amd64(下载对应的)

    3. kbuild

      1.因为无法复制,只能手敲url,用wget <url>即刻。

  7. 安装即可


    1. dpkg -i <你下载的kbuild>
    2. dpkg -i <你下载的headers-common>
    3. dpkg -i <你下载的headers-对应内核>
  8. 然后进入复制目录的位置./install即可


【分享】倾物语 - 第一节

0 条评论 笔记 小记录 Yunoon

前言

决策尽可能多过一遍大脑,今天过马路时看见的是绿灯,便立刻做决定骑过去,却没发现是绿灯的最后一秒,被狠狠地喷了,受到的刺激有点大,回过神来,便想到了物语中小扇和垃圾君的对话。为什么人行横道的红绿灯没有黄灯?

内容

OO1

在讲述我围绕八九寺真宵展开的那场夏日大冒险之前,我想先在这里为大家介绍一位女生。虽然我是这么说,不过她其实并没有参与那场大冒险,甚至跟那次大冒险没有一丝一毫的关联。毕竟我跟她认识的时期,是在夏天早就过去、甚至是几乎能称之为冬天的季节,所以那件事无论如何也是不可能跟她扯上任何关系的。那么,她明明跟我接下来要讲的这个故事没有任何关联,但为什么非要在开头介绍这样一个毫无关系的人物呢?老实说,我没有自信能很好地表达出我想说的意思,怎么说呢,总之她就是会让人产生这种想法的哪一类人。

说白了.那就是在想起某种没有任何解决办法、超出自己能力范围的糟糕透顶的经历时,会莫名其妙地同时联想起来的——或者说就像原本只想着打开衣柜的第二格,结果却在关上的时候由于空气压力,而把第三个也弄开了那样的感觉吧。至于哪个才是准确描述…她这个人的比喻,我就真的无从判断了。

作为一个常见的比喻,人们常说给布丁浇上酱油的话就会变成海胆的味道,现在这种情况就跟那个一样,表面上好像完全没有关系,实际上也真的是毫无关系,可是在回忆的时侯却会被人同时想起来。这究竟应该说是感觉器官的矛盾,还是该说是一种假象呢?如果要勉强形容的话,她就是一个像“不含果汁的碳酸饮料”一样的女人。明明完全不一样,却有着相同的味道,如同合成染色剂和化学调味料那样的——彻头彻尾的假货,简直就像兄赝品的代言入一样的女人。

困惑。

烦恼。

麻烦事。

还有失败、后悔。

跟这些东西一起被收容在同一个抽屉里的高中一年级生,就是她——我的新学妹,忍野扇了。

作为介绍一个比自己年幼的女生的介绍文,这些用词实在是有点过分,不过我想就算她听到我这么形容她也只会一笑置之,所以没有必要太在意,为此感到内疚当然也是毫无意义的事。

顺便一提,把她——小扇介绍给我认识的人就是神原。有个超级可爱的学妹转学到了一年级的哪个班啦——她当时是这么跟我说的。既然是对可爱女生的情报异常了解的神原告诉我的消息,其真实性自然足毋庸置疑的,可是在实际上跟那个女生见面的叫候,我却完全没有产生任何感想的余力。

因为我跟她刚见面,就被她狠狠揍了一顿。

至于我为什么会去见她、又为什么会被她狠揍一顿这个问题,就等我把事情叙述到那个时候(当然还是在有那个机会的情况下)再说吧——在想起有关八九寺的事情时,我就会同时想起小扇说的一句话:

“阿良良木学长,你知不知道十字路口的交通灯,有一瞬间会同时变成红色的?”

就是这样。

“那是什么啊?难道是工作人员在做检修的时候?”

“不是不是,是比那个更频繁的啦——阿良良木学长你每天都应该会看到的。”

“每天都看到……不,我可从来没见过啊。而且要是那种事频繁发生的活,我想到处都会闹出交通事故乱成一团的吧。”

“就是为了避免闹出交通事故,才会出现这种日常性的现象呀。你这个笨蛋,怎么还不明白嘛。不过如果说穿谜底的话,这其实是非常简单的事情呢,阿良良木学长。从纵向的交通灯转红开始,到横向的交通灯转绿为止,总是存在着3秒钟的延迟哦。因为如果同时转灯的话,一些冒失司机的鲁莽行动就很容易引起交通事故了呀。”

“三秒……那根本算不上是瞬间吧。哪里会有人把三秒钟也说成是瞬间的啊。”

“你就別鸡蛋里挑骨头了吧,阿良良木学长,你的性格可真是糟糕透了耶。換句活说,这就是全部都处于静止状态的空白三秒钟啦——反过来说,则并不存在交通灯全部转绿的瞬间。那也许真的只有在工作人员检修的时候才有可能了。如果我是设计者的话,一定会构筑起构造上绝对不会出现那种情况的系统啦。毕竟对任何人来说,安全肯定比危险要好多了嘛.”

“那不是理所当然的嘛,根本不需要你在这里特意强调。”

”不,你就让我在这里强调一下吧,这可是很有趣的事情哦,阿良良木学长。意味着危险的红色信号灯充满了世界的那一时刻,却是比平时更加安全的时刻;反而是意味着安全的绿色信号灯充满了世界的那一瞬间,形成了比世上任何地方都更危险的场所——这样的一个矛盾。危险信号超出某种限度的话,就会构造出安全地带;反过来说,安全信号超出某种限度的话,就会制造出纯粹的无法地带。別说三秒钟,就算是一秒钟也难以生存呢。”

“……对健康有好处的东西很准吃,好吃的东西基本上都很容易长胖——你就是在说这个吧?”

“也对呢,的确是这样。明明脑子很笨,理解倒是挺快的呢,阿良良木学长。”

“能得到你的赞赏实在是无上光荣啊。”

“我可没有称赞你,是在讽刺你耶。在绿灯亮起的时候,很多人都怀着仿佛受到神明庇护似的心情走过斑马线——实际上根本没有那回事呀。那只不过是风险减低了一半而已,只是比全部同时变绿稍微好一点罢了。如果不想遇到危险的话,

我看还是不要过马路的好哦。”

“你要是这么说的话,就算在人行道上走路。也同样有可能被哪个醉鬼司机莫名其妙地撞上来吧。”

“嗯,的确也有那个可能性。不过正因为这样,才应该提出刚才的主张呀。必須由某个人——比如说我,来提出这样的主张。我们必须让人们知道这个世界是何等危险的地方。什么世界很和平,充满了梦想与希望,充满了救赎,人与入之间为了彼此相爱而生存,大家都应该和睦相处,孩子也必须获得幸福之类的——就因为一个个都满怀陶醉地说着这些话,才很容易被別人算计到了呀。那些战地的孩子们.就算没有受过教育也有着更清醒的头脑呢.至少他们对人生更有贪欲。因为他们眼中看到的并不是绿色信号灯,而全部是红色信号灯嘛。”

“在和平的国家里像傻瓜一样生存的权利——我想这应该是每个人都应该享有的吧。毕竟人类已经为此花费了数千年时间才走到这一步的啊。”

“那只是日本独有的想法啦,或者也可以说是这个国家的宗教。不过我可以断言说,日本这个国家在一千年后肯定是不存在的。”

“那对任何一个国家来说也都一样吧。世界上也没有哪个国家能维持同样的体制一千年那么久。这根本不需要去查阅历史书,完全是理所当然的事。”

“对,这是理所当然的。日本也许会灭亡,世界也有可能会灭亡。可是有的人却偏偏不正视这种理所当然的事,却跑去搞什么定期存款的,这才让人觉得可笑嘛。虽然是半哭半笑的笑啦。”

“然后呢?”

“嗯?”

“那么,说到底,小扇你到底是想说些什么嘛?还真是个不得要领的家伙。虽然外表完全不一样,不过在这方面你跟你叔叔还真的很相像啊。”

“你说我像那样的人我也丝毫不觉得高兴,甚至还想控告你损坏名誉呢。不过这次我就大人有大量,把它当作称赞的话来理解吧。没什么,我其实就是在提醒人们要注意。你看人家不是常说嘛,梦想不是用来想像的,而足用来实现的——不过这应该是相反的吧?梦想并不是用来实现的,应该是用来想像的。这才是真理吧?虽然想像自己将来的理想姿态很开心,但是一旦要付诸实现的话,就必须每天都作出平淡无奇的、或者说是徒劳无功的努力——过着一种地狱般的生活。为什么人非得做那种事不可?简直是荒唐到极点了。即使只是单纯的妄想。也可以让人过得很幸福了嘛。”

“跟依靠妄想来获得幸福相比,实现梦想获得幸福的幸福度应该会更高吧?”

“绝对没有那回事。”

“没有吗?”

“没有,没有的啦。比如说任何人都向往过、而且也希望自己将来能实现的——不管是摇滚乐明星也好,运动健将也好,或者是漫画家和大公司老板也无所谓,你只要想像一下这些人的现实生活就很容易明白了。你觉得他们过的是自由自在的生活吗?依我看绝对没有那回事吧。要颐虑到跟雇主之间的关系,还要受到排名和级别的影响,有时要向赞助商点头哈腰,有时又要设法讨得支持者们的欢心,那真是太痛苦了耶。所谓的实现梦想,实际上就意味着体味到自己梦想的乏味之处啊。”

“你的意思是说,越是接近梦想,就越要注意自己跟周围的关系吗?这的确是性格扭曲的人经常说的话。不过也有人因为获得了显赫的身份而过得自由自在吧。”

“你是说那些自由自在地过着生活,在被周围人疏远和讨厌的前提下生存的家伙吗?你难道认为会有人希望成为那样的家伙吗?怀抱着要成为那种家伙的梦想?我看应该正好相反吧。”

“嗯,的确正好相反。”

“所以啊,阿良良木学长。我们必须告诉人们,与其那么辛苦地去拼搏奋斗、在各种客观因素的影响下将快乐梦想转变为痛苦无奈的现实,倒不如坐在电视机的显像管前面一边吃着零食边眺望着那些实现了梦想的人更来得有效率呢。我们必须发挥出狭义心肠。虽然围绕梦想进行想像是非常值得称赞的一件事.但是绝对不可以实现梦想。我们应该把这个观点宣扬出去。”

“……现在使用显像管的电视,都几乎全部被淘汰了啊。虽然它们的图像据说是出乎意料的漂亮。现在流行的都是液晶和等离子之类的了。”

“哈哈,也就是说电视的画面和节日都同样变得浅薄不堪了吗?”

“我并不是在说那种带有批判色彩的话。其中也有很多有趣的节目。”

“你这样为他们辩解,究竟会得到什么人的爱呀?阿良良木学长。就算你是个很好很好的人,也不会有任何人来保护你的哦?反而是你应该保护信号灯。并不是信号灯保护你,而是你来保护信号灯。比如说举起双手,或者挥起小旗子之类的。”

就是这样的感觉。

她自始至终都是这副模样。她本来似乎是想告诉我“十字路口的交通灯全部变红的时间是三秒钟”这个小知识,可是结果却牵扯到了人生、主义,甚至还说起了梦想——那就是名为忍野扇的十五岁女孩子。而我则在回忆起八九寺真宵的时候想起了这样的一个小知识。

跟迷路的少女同时回忆了起来。

前方的信号灯全部都是红色。

在绿灯亮起时过马路,却被车子辗到的——

伴随着在十几年前死去的那个女孩子的回忆,一起想了起来。

伴随着那个夏日的大冒险——以一件极其琐碎的事情作为开端,可是结果却演变为卷入了整个现实的大问题的那个故事,同时回忆了起来。

但是,如果在那个故事结束之后,我对于小扇的杂学知识,对于平时总是把我驳得无言以对的她,提出唯一的一句异议吧。

那就是——

在交通信号灯之中,除了红色和绿色之外,还存在着一盏黄灯。

而这一点,正是她想要提醒人们注意的事情。

结尾

为什么不看物语系列,看,给我看!


关于macOS下C++代码指针地址强转十进制的问题

0 条评论 笔记 小记录 Yunoon

前言

在跑OS的代码时,发现提供的代码放在macOS环境下无法运行,已经将很多地方都做了修改了,最终成功运行,但在显示地址的位置无法正确显示。

正文

  1. 在解决了namespace的问题后,发现还有个报错。

  2. 由于基础的问题,当时没有发现问题的所在,就加了个指针就过了。

  3. 执行的时候发现内存地址显示为16进制。

  4. 通过多次断点,还是没找到问题的所在。

  5. 最终把问题回到步骤1上。
    test33.cpp:45:11: error: cast from pointer to smaller type 'int' loses information

  6. 发现上当前内存长度超过了int的长度限制,因此换成long即可。

  7. 成功解决问题