Install Windows Store,
https://github.com/kkkgo/LTSC-Add-MicrosoftStore
en_windows_server_2019_updated_june_2020_x64_dvd_7757177c.iso
refer to:
https://zhuanlan.zhihu.com/p/437785720
人,技术,生活。
Install Windows Store,
https://github.com/kkkgo/LTSC-Add-MicrosoftStore
en_windows_server_2019_updated_june_2020_x64_dvd_7757177c.iso
refer to:
https://zhuanlan.zhihu.com/p/437785720
Add-WindowsFeature -Name Wireless-Networking |
#include <stdlib.h> #include <stdio.h> #include <string.h> #define ENDS_WITH(ch0, ch1) ((unsigned char)line[len - 3] == (ch1) && (unsigned char)line[len - 4] == (ch0)) /* * for gbk only. */ int main() { FILE* fp = fopen("/mnt/hgfs/share/aaa1.txt", "r"); FILE* fpOut = fopen("/mnt/hgfs/share/aaa2.txt", "w+"); if (NULL == fp) return -1; char line[1024 * 10] = {0}; while (NULL != fgets(line, sizeof(line) - 1, fp)) { int len = strlen(line); if (0) // (len > 10) { printf("[%s]\n-1:%x\n-2:%x\n-3:%x\n-4:%x\n-5:%x\n-6:%x\n", line, (unsigned int)(unsigned char)line[len - 1], (unsigned int)(unsigned char)line[len - 2], (unsigned int)(unsigned char)line[len - 3], (unsigned int)(unsigned char)line[len - 4], (unsigned int)(unsigned char)line[len - 5], (unsigned int)(unsigned char)line[len - 6]); } if (len >= 4) { do { if ((unsigned char)line[len - 1] != 0xa || (unsigned char)line[len - 2] != 0xd) break; if (ENDS_WITH(0x80, 0x82)) { // period break; } if (ENDS_WITH(0x80, 0x9d)) { // double quotation mark break; } line[len - 2] = 0; } while (0); } fputs(line, fpOut); } fclose(fpOut); fclose(fp); return 1; } |
struct Aa { int i0; }; std::vector<Aa*> list_; ... std::sort(list_.begin(), list_.end(), [this, &end_dates](Aa* l, Aa* r) { return l->degree_ - r->degree_; }); |
Before the sort, I promise the members of list_ are all not null, but in the sort lambda expression, when running, we will be caught by a null pointer access SIGSEGV, for example, l is null.
Well, the good shot is,
... std::sort(list_.begin(), list_.end(), [this, &end_dates](Aa* l, Aa* r) { return l->degree_ > r->degree_; }); |
RetroArch
fceux
refer to:
https://linuxtoy.org/archives/game_emulator_for_linux.html
/etc/fstab
/dev/sda1 /media/Application ntfs defaults,utf8,uid=1000,gid=1000,big_writes 0 0 |
refer to:
https://blog.csdn.net/HYC679/article/details/81065260
https://blog.csdn.net/weixin_54705575/article/details/114151574
sudo apt install default-jre sudo apt install libgdk-pixbuf2.0-0 https://github.com/huanghongxun/HMCL java -jar HMCL-2.7.6.25.jar |
Commands,
locate structure village_plain |
Minecraft.desktop
[Desktop Entry] Version=1.0 Terminal=false Type=Application Name=Minecraft StartupWMClass=Minecraft GenericName=Minecraft Comment=Minecraft Exec=/path/to/minecraft/run.sh Icon=/path/to/minecraft/icon.png Keywords=game;emulator; Categories=Game;Emulator; |
run.sh
#!/bin/bash PWD=`dirname $0` cd $PWD xrandr --size 960x540 java -jar ./HMCL-3.5.4.234.jar xrandr --size 1920x1080 |
refer to:
https://blog.csdn.net/weixin_33757911/article/details/90099582
http://www.mcbbs.net/thread-142335-1-1.html
sudo apt purge "*nvidia*" sudo rm /etc/X11/xorg.conf |
refer to:
https://www.addictivetips.com/ubuntu-linux-tips/disable-remove-nvidia-drivers-on-ubuntu
sudo apt install qemu-kvm qemu-utils libvirt-daemon-system libvirt-clients bridge-utils virt-manager ovmf
Identify iommu group,
#!/bin/bash # change the 999 if needed shopt -s nullglob for d in /sys/kernel/iommu_groups/{0..999}/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*} printf 'IOMMU Group %s ' "$n" lspci -nns "${d##*/}" done
sudo vi /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt vfio-pci.ids=10de:24e0,10de:228b" sudo update-grub
After NVidia driver is installed in guest win10, remember to disable "Red Hat QXL Controller" display adapter before reboot.
Setup up shared folder:
VM Settings -> Memory -> Enable shared memory
Add Hardware -> Filesystem -> virtiofs -> Source path: /host/path/to/share -> Target path: \\share
After boot up gust win10, drop winfsp-2.0.23075.msi in it and install the msi using default package.
Then start service "VirtIO-FS Service (VirtioFsSvc)".
In address bar of Windows Explorer, type z: to access shared folder.
Convert vmdk to qcow2,
qemu-img convert -f vmdk -O qcow2 /mnt/E/vmimg/win10new/win10.vmdk win10.qcow2 |
refer to:
https://mathiashueber.com/passthrough-windows-11-vm-ubuntu-22-04/
https://mathiashueber.com/pci-passthrough-ubuntu-2004-virtual-machine/
https://askubuntu.com/questions/1406888/ubuntu-22-04-gpu-passthrough-qemu
https://blog.hwaryong.com/kvm-gpu-passthrough-on-ubuntu-2004
https://www.debugpoint.com/kvm-share-folder-windows-guest/
https://docs.openstack.org/image-guide/convert-images.html
https://github.com/winfsp/winfsp/releases/
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/
sudo VBoxManage internalcommands createrawvmdk -filename /path/to/d.vmdk -rawdisk /dev/nvme0n1 -partitions 5 -relative |
But, non-root user will be blocked as VERR_ACCESS_DENIED, resolve it like link below,
sudo usermod -a -G disk $USER |
we must reboot to make it into effect.
Well, we need to know it is very unsafe.
refer to:
https://superuser.com/questions/451573/use-virtualbox-to-boot-a-physical-drive-partition
ILMostro_7 at https://unix.stackexchange.com/questions/284704/verr-access-denied-when-trying-to-add-a-raw-disk-to-virtual-box