- Published on
电脑问题解决日志
- Authors

- Name
- Lin Zaizai
电脑问题解决日志
1. This application failed to start because no Qt platform plugin could be initialized
解决办法合集,最终是看了stackoveflow提到删除环境变量中的QT_PLUGIN_PATH变量即可

2. 局域网内其他主机ping不通本机
在防火墙新建入站规则,允许ICMP_v4连接

这样就可以ping通了
3. 在创建hyper-v虚拟交换机时出现 添加外部虚拟交换机失败,以太网接口绑定失败 灾难性故障
最后关闭wlan网卡的internet共享就好了,起初开启是为了与qemu虚拟网卡进行共享,但是一直都无效,因此可以关闭了

4. 解决wsl无法和局域网内其他主机通信的问题
由于在尝试ros2的时候在wsl上没有办法和同局域网下的ros2进行通信,起初以为是端口没有开放,但是开放端口后依然没有办法通信,因此查阅相关资料后感觉应该是wsl虽然和主机是共享ip,但是实际上wsl依然是和主机外的局域网的主机是不在同一个网段的,因此通过创建hyper-v虚拟交换机实现给wsl也分配一个局域网ipv4地址
在hyper-v管理器(要先确认开启了hyper-v)中创建一个外部的虚拟交换机,外部网络指定为主机无线网卡

然后在用户目录下创建 .wslconfig 文件,并输入以下内容
[wsl2]
networkingMode=bridged
vmSwitch=WSLBridge
ipv6=true
guiApplications=true
localhostForwarding=true
从上到下依次表示
- 桥接模式
- 指定使用的网卡
- 启用ipv6
- 开启GUI应用程序支持
- 指定wsl2 VM中的通配符或localhost端口通过localhost:port 从主机连接
然后重启wsl或者重启主机即可,但是中途出现了小问题,我重启一次以后wsl的eth0就获取不到任何ip了,仔细检查网卡配置时,发现windows的网卡名字并非和虚拟交换机上的一致(图中已经修改过了,原本为VEthernet(WSLBridge),重命名该网卡以后再重启即可)

wsl上的ip分配

wsl也可以和同局域网下ros2进行通信

参考资料:ubuntu子系统与局域网通讯配置
5. 突然有一天发现wsl无法ping通外网的问题
捣鼓来捣鼓去发现都找不到问题,干脆直接移除.wslconfig退出桥接模式文件恢复以前的配置
参考资料:
6. WSL配置(非桥接版和主机互通)
- 配置windows防火墙,配置wsl准入,找到wsl指向主机的网卡,可以通过cat /etc/resolv.conf找到wsl指向的ip,对应ip的网卡就是相关的网卡

windows下打开终端管理
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow其中vEthernet (WSL)改为上面的网卡名称
然后wsl就能ping通主机了
ping `cat /etc/resolv.conf | grep nameserver | awk '{print $2}'`
7. pip下载速度慢
配置镜像源即可,若不想永久配置,则输入-i [镜像源地址]即可
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
8. 服务器硬盘挂载点掉了
家里的服务器显示home文件夹不见了,仔细一查发现挂载点掉了,输入lsblk查看设备和挂载点情况,发现主硬盘没有挂载点
[zaizai@OpenWrt /]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 726.5M 0 loop /overlay
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 100M 0 part
├─sda2 8:2 0 16M 0 part
├─sda3 8:3 0 111G 0 part
└─sda4 8:4 0 679M 0 part
sdb 8:16 1 7.5G 0 disk
├─sdb1 8:17 1 32M 0 part /boot
│ /boot
├─sdb2 8:18 1 944M 0 part /rom
└─sdb3 8:19 1 239K 0 part
zram0 253:0 0 1.9G 0 disk [SWAP]
通过parted命令查看硬盘的分区表类型,是mbr还是gpt
sudo parted /dev/sdX print
知道自己的硬盘是gpt类型的之后,使用gdisk工具进行分区
1、进入 gdisk 工具,并输入 o 创建新的保护性主引导记录 (MBR)。
2、输入 n 进入新建分区模式。
3、选择默认的分区号和起始扇区。
4、设置结束扇区为 50GB(+50G)。
5、选择默认分区类型('Linux filesystem')
6、输入 w 保存更改并退出 gdisk,成功创建了新的 50GB 大小的 Linux 文件系统分区。
然后就是格式化分区和挂载分区
# 格式化分区
mkfs.ext4 /dev/sdb1(对应的分区)
# 挂载分区
mount /dev/sda1 /home
然后设置开机自动挂载
vi /etc/fstab
# 添加并保存
/dev/sda1 /home ext4 defaults 0 0
重启即可
参考资料:Linux系统硬盘挂载