解决Ubuntu下无法装载 Windows D盘的问题
电脑安装了 Windows 和 Ubuntu 24.04 后,在Ubuntu系统上装载 D盘,发现无法装载错误如下:
Error mounting /dev/nvme0n1p4 at /media/jackeysong/Data: wrong fs type, bad option, bad superblock on /dev/nvme0n1p4, missing codepage or helper program, or other error
错误的原因是装载D盘时,文件系统的类型错误。Windows 系统使用的文件系统类型为 ntfs
,绝大多数发行版 Linux 系统使用的文件系统类型是 ext4
. 当使用 ext4
来装载一个 ntfs
类型的磁盘分区时,就会出现以上 wrong fs type
错误。
解决方法
一、手动装载
手动装载D盘分区,在 /media/jackeysong/
下创建一个 Data
文件夹,然后将磁盘分区 /dev/nvme0n1p4
装载到该文件夹下:mount -t ntfs /dev/nvme0n1p4 /media/jackeysong/Data
jackeysong@jackey-song:~$ sudo -i
[sudo] password for jackeysong:
root@jackey-song:~# mkdir /media/jackeysong/Data
root@jackey-song:~# ls /media/jackeysong
008D-B2D7 Data
root@jackey-song:~# mount -t ntfs /dev/nvme0n1p4 /media/jackeysong/Data
然后打开 D盘,装载成功。
如果装载失败可能是缺少 ntfs
驱动的原因。NTFS 分区需要安装 ntfs-3g 驱动才能正常挂载。如果你没有安装 ntfs-3g,可以使用以下命令安装:
sudo apt update
sudo apt install ntfs-3g
强制使用 ntfs-3g 驱动进行挂载:sudo mount -t ntfs-3g /dev/nvme0n1p4 /media/jackeysong/Data
二、编辑 /etc/fstab
文件指定默认装载方式
每次都手动装载分区会比较麻烦,也可以编辑 /etc/fstab
配置文件,来为某个分区指定装载时的默认文件系统类型。
-
找到指定分区的 UUID,使用
sudo blkid
命令:root@jackey-song:~# blkid /dev/nvme0n1p5: UUID="723696bd-9024-4a98-8094-70e5abd815c7" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="a95ec632-4081-464d-95e2-8260febba3df" /dev/loop1: BLOCK_SIZE="131072" TYPE="squashfs" /dev/nvme0n1p3: LABEL="Windows" BLOCK_SIZE="512" UUID="FA00939A00935C87" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="a89e60f7-6279-4bc6-a2dd-41aca8b2a9e0" /dev/nvme0n1p1: LABEL_FATBOOT="SYSTEM" LABEL="SYSTEM" UUID="18CE-BE31" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="c5507935-a83b-4c4b-8e76-6698106dc676" /dev/nvme0n1p4: LABEL="Data" BLOCK_SIZE="512" UUID="A43AB43A3AB40B76" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="8c5273ff-a1a9-4f08-a06c-fe6b16cc2992" /dev/nvme0n1p2: PARTLABEL="Microsoft reserved partition" PARTUUID="78d2fc75-5222-454d-b35e-54daeab76cbd" /dev/loop8: BLOCK_SIZE="131072" TYPE="squashfs" /dev/loop6: BLOCK_SIZE="131072" TYPE="squashfs" /dev/loop4: BLOCK_SIZE="131072" TYPE="squashfs" /dev/loop11: BLOCK_SIZE="131072" TYPE="squashfs" /dev/loop2: BLOCK_SIZE="131072" TYPE="squashfs" /dev/loop0: BLOCK_SIZE="131072" TYPE="squashfs" /dev/loop9: BLOCK_SIZE="131072" TYPE="squashfs" /dev/loop7: BLOCK_SIZE="131072" TYPE="squashfs" /dev/sda1: UUID="008D-B2D7" BLOCK_SIZE="512" TYPE="exfat" PARTUUID="d9a95602-01" /dev/loop5: BLOCK_SIZE="131072" TYPE="squashfs" /dev/loop12: BLOCK_SIZE="131072" TYPE="squashfs" /dev/loop3: BLOCK_SIZE="131072" TYPE="squashfs" /dev/loop10: BLOCK_SIZE="131072" TYPE="squashfs"
我这里要找的分区是 D 盘的分区
/dev/nvme0n1p4
,其对应的 UUID 是A43AB43A3AB40B76
。 -
编辑
/etc/fstab
文件,加入以下一行:UUID=A43AB43A3AB40B76 /media/jackeysong/Data ntfs defaults 0 0
- UUID 指定分区的唯一编号。
/media/jackeysong/Data
装载路径。ntfs
挂载时使用的文件系统类型。defaults
:挂载选项,通常使用 defaults 就可以满足大部分需求。0 0
:表示该分区不会参与系统备份,也不进行磁盘检查。
通过以上两个步骤就可以正确自动挂载 Windows D盘了。相应地,C盘(Windows系统盘)也可以这样自动挂载,但是千万注意要使用正确的文件系统类型(ntfs),否则会导致你的 Windows 系统开机蓝屏,只能重装 Windows 系统。(别问我怎么知道的,我的 Windows 系统就是这么蓝屏的。还好可以在 Ubuntu 系统上使用工具 woeUSB-ng 制作 Windows 启动U盘重装系统。不过所有的 Windows 数据都会丢失,谨慎操作。)
Windows 和 Ubuntu 双系统的电脑,可以将 D盘作为两个系统的共享盘。
Windows 系统关机后,进入 Ubuntu 系统,对 D盘是只读权限。要想对 D盘有读写权限,需要在 Windows 下关机时选择重启,重启后直接进入到 Ubuntu 系统。这样 Ubuntu 就可以对 D盘有读写权限了。
温馨提示:在 Ubuntu 下切莫要对 Windows 系统盘做更改,否则你的 Windows 系统可能会崩掉。不要以 ext4
类型挂载 Windows 系统盘,这样会导致退出 Ubuntu 重启 Windows 时,出现蓝屏(磁盘错误)。正常情况下,以 ntfs
类型挂载 Windows 系统盘后,对 Windows 盘是只读权限。
扩展内容
lsblk
lsblk
(list block devices)是查看系统中块设备(硬盘、分区、光驱等)的一种常用方法。
jackeysong@jackey-song:~$ sudo -i
[sudo] password for jackeysong:
root@jackey-song:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 4K 1 loop /snap/bare/5
loop1 7:1 0 74.3M 1 loop /snap/core22/1564
loop2 7:2 0 269.8M 1 loop /snap/firefox/4793
loop3 7:3 0 10.7M 1 loop /snap/firmware-updater/127
loop4 7:4 0 505.1M 1 loop /snap/gnome-42-2204/176
loop5 7:5 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop6 7:6 0 10.5M 1 loop /snap/snap-store/1173
loop7 7:7 0 38.8M 1 loop /snap/snapd/21759
loop8 7:8 0 500K 1 loop /snap/snapd-desktop-integration/178
sda 8:0 1 114.6G 0 disk
└─sda1 8:1 1 114.6G 0 part /media/jackeysong/008D-B2D7
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 100M 0 part /boot/efi
├─nvme0n1p2 259:2 0 16M 0 part
├─nvme0n1p3 259:3 0 120G 0 part
├─nvme0n1p4 259:4 0 293.3G 0 part
└─nvme0n1p5 259:5 0 63.5G 0 part /
fdisk -l
fdisk
是一个磁盘分区工具,-l
选项可以列出所有硬盘及其分区信息。
root@jackey-song:~# fdisk -l
Disk /dev/loop0: 4 KiB, 4096 bytes, 8 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/loop1: 74.27 MiB, 77881344 bytes, 152112 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/loop2: 269.77 MiB, 282873856 bytes, 552488 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/loop3: 10.72 MiB, 11239424 bytes, 21952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/loop4: 505.09 MiB, 529625088 bytes, 1034424 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/loop5: 91.69 MiB, 96141312 bytes, 187776 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/loop6: 10.54 MiB, 11051008 bytes, 21584 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/loop7: 38.83 MiB, 40714240 bytes, 79520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: WDC PC SN730 SDBPNTY-512G-1027
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BB40C022-7036-4376-87FC-CE3A69916C17Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 206847 204800 100M EFI System
/dev/nvme0n1p2 206848 239615 32768 16M Microsoft reserved
/dev/nvme0n1p3 239616 251897855 251658240 120G Microsoft basic data
/dev/nvme0n1p4 251897856 867041279 615143424 293.3G Microsoft basic data
/dev/nvme0n1p5 867041280 1000212479 133171200 63.5G Linux filesystemDisk /dev/loop8: 500 KiB, 512000 bytes, 1000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/sda: 114.61 GiB, 123060879360 bytes, 240353280 sectors
Disk model: SanDisk 3.2Gen1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xd9a95602Device Boot Start End Sectors Size Id Type
/dev/sda1 32 240353279 240353248 114.6G 7 HPFS/NTFS/exFAT
root@jackey-song:~# blkid
/dev/nvme0n1p5: UUID="723696bd-9024-4a98-8094-70e5abd815c7" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="a95ec632-4081-464d-95e2-8260febba3df"
/dev/loop1: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/nvme0n1p3: LABEL="Windows" BLOCK_SIZE="512" UUID="FA00939A00935C87" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="a89e60f7-6279-4bc6-a2dd-41aca8b2a9e0"
/dev/nvme0n1p1: LABEL_FATBOOT="SYSTEM" LABEL="SYSTEM" UUID="18CE-BE31" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="c5507935-a83b-4c4b-8e76-6698106dc676"
/dev/nvme0n1p4: LABEL="Data" BLOCK_SIZE="512" UUID="A43AB43A3AB40B76" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="8c5273ff-a1a9-4f08-a06c-fe6b16cc2992"
/dev/nvme0n1p2: PARTLABEL="Microsoft reserved partition" PARTUUID="78d2fc75-5222-454d-b35e-54daeab76cbd"
/dev/loop8: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop6: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop4: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop2: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop0: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop7: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/sda1: UUID="008D-B2D7" BLOCK_SIZE="512" TYPE="exfat" PARTUUID="d9a95602-01"
/dev/loop5: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop3: BLOCK_SIZE="131072" TYPE="squashfs"
Windows 系统使用的文件系统格式
Windows 操作系统主要使用以下几种文件系统:
1. NTFS(New Technology File System)
- 最常用的文件系统:NTFS 是当前 Windows 操作系统的默认文件系统,广泛用于 Windows 7、8、10 和 11 版本。
- 特点:
- 支持大容量的磁盘和文件(最大文件大小为 16TB,最大分区大小为 256TB)。
- 提供文件和文件夹级别的权限控制(如访问控制列表 ACL)。
- 支持文件压缩和加密(例如,EFS 加密)。
- 提供日志记录功能(即使系统崩溃,文件系统也能恢复到一致的状态)。
- 支持硬链接、符号链接等高级功能。
- 对于磁盘碎片管理也有较好的优化。
2. FAT32(File Allocation Table 32)
- 较老的文件系统:FAT32 是 FAT 系列文件系统的一种,曾是 Windows 系统常用的文件系统,主要用于较小的磁盘和移动存储设备(如 USB 闪存驱动器、外部硬盘等)。
- 特点:
- 支持的最大分区大小为 32GB,最大单个文件大小为 4GB。
- 兼容性好,几乎所有操作系统都可以读取 FAT32 格式的驱动器。
- 不支持文件权限和加密等高级功能,安全性较差。
3. exFAT(Extended File Allocation Table)
- 用于大容量存储设备:exFAT 是为了解决 FAT32 在大容量存储设备上的局限性而开发的文件系统,常用于 USB 闪存驱动器、SD 卡等设备,尤其是大于 32GB 的存储设备。
- 特点:
- 支持单个文件大于 4GB,最大文件和分区大小可达到几 TB。
- 提供较好的跨平台支持(Windows、macOS 和 Linux 都能读取 exFAT 格式的设备)。
- 不支持 NTFS 的高级安全性和日志功能,但在大容量设备上表现良好。
4. ReFS(Resilient File System)
- 用于服务器和高容错需求的环境:ReFS 是 Windows Server 2012 引入的一种文件系统,旨在提供比 NTFS 更高的容错性、可扩展性和性能,主要用于大型存储和数据中心环境。
- 特点:
- 支持数据完整性校验,自动修复文件损坏。
- 高效处理大容量数据集,适合存储和备份任务。
- 不支持所有 NTFS 功能(如加密、压缩、符号链接等),主要面向企业级应用。
Linux 系统使用的文件系统格式
Linux 操作系统支持多种文件系统,每种文件系统有不同的特点和使用场景。以下是 Linux 上常见的文件系统:
1. ext4(Fourth Extended File System)
- 最常用的文件系统:ext4 是目前 Linux 系统上最常见的文件系统,几乎所有主流的 Linux 发行版(如 Ubuntu、Debian、Fedora 等)默认使用 ext4。
- 特点:
- 提供良好的性能和稳定性,支持大文件和大容量存储(最大支持 1 exabyte 的分区,最大文件大小 16 terabytes)。
- 支持日志功能(journaling),保证系统崩溃时文件系统的一致性。
- 支持大文件、延迟分配(delayed allocation)和写时复制(write barriers)等高级特性,优化性能。
- 支持文件系统检查(fsck)以修复损坏的文件系统。
2. ext3(Third Extended File System)
- ext4 的前身:ext3 是 ext4 的前一代文件系统,虽然现在不再是默认文件系统,但依然在一些老旧系统中使用。
- 特点:
- 支持日志功能,可以提高系统的稳定性和恢复能力。
- 相较于 ext4,ext3 在性能和支持大文件方面存在一些局限。
- 兼容性较好,可以轻松从 ext2 升级到 ext3。
3. Btrfs(B-Tree File System)
- 现代、功能丰富的文件系统:Btrfs 是一个较新的文件系统,旨在提供更强的管理功能,如快照、压缩、去重和增量备份等。
- 特点:
- 支持内置的快照(snapshots)和克隆功能,可以实现高效的数据备份和恢复。
- 支持压缩(例如 zlib 和 LZO 压缩)来节省存储空间。
- 支持数据去重、检查点和动态磁盘管理。
- 支持多设备池,可以通过 RAID 架构实现磁盘集群管理。
- 目前仍在发展中,虽然已经具有生产环境的使用能力,但在稳定性和性能上与 ext4 相比仍有一些差距。
4. XFS
- 高性能的文件系统:XFS 是一个高性能的文件系统,特别适合处理大文件和高并发的场景,通常用于数据中心和大规模存储环境。
- 特点:
- 针对大文件和大容量存储做了优化,适用于需要大量并发和大数据的应用场景。
- 支持文件系统扩展、日志功能和动态在线扩展。
- 支持文件系统级别的空间预分配,减少碎片化。
- 在大数据、视频流处理和高性能计算等领域表现优越。
5. ZFS(Zettabyte File System)
- 高可靠性、高性能文件系统:ZFS 最早由 Sun Microsystems 开发,现在由 OpenZFS 作为开源项目维护。虽然 ZFS 最初是为 Solaris 操作系统设计的,但它也可以在 Linux 上使用(通常通过 OpenZFS 或 zfsutils)。
- 特点:
- 支持高效的快照(snapshots)、克隆、压缩、去重和自修复等特性。
- 支持数据完整性校验,自动检测和修复损坏的数据。
- 支持存储池(zpool),允许在一个池中管理多个硬盘,并提供类似 RAID 的功能(如 RAID-Z)。
- 对于大规模存储和数据保护需求非常强大,但在 Linux 上的支持相对较为复杂,安装和维护可能会有所困难。
6. F2FS(Flash-Friendly File System)
- 面向闪存存储优化的文件系统:F2FS 是一个针对 NAND 闪存设备(如 SSD、eMMC、SD 卡等)优化的文件系统。
- 特点:
- 针对闪存的特性进行了优化,减少写放大(write amplification)现象,延长存储设备的寿命。
- 比传统文件系统(如 ext4)在闪存设备上的性能更优。
- 支持文件系统检查、日志和数据完整性检查等功能。
7. ReiserFS
- 曾经流行的文件系统:ReiserFS 曾是 Linux 上非常流行的文件系统,尤其在中小型文件的操作上表现出色。
- 特点:
- 高效处理小文件,适合数据库和邮件服务器。
- 提供日志功能,提高数据一致性。
- 目前由于开发者的争议和缺乏更新,ReiserFS 已逐渐被其他文件系统(如 ext4 和 Btrfs)所取代。
8. FAT32 和 exFAT
- 跨平台兼容性:虽然这两个文件系统主要用于 Windows 和嵌入式设备,但 Linux 也支持 FAT32 和 exFAT 文件系统,通常用于 USB 驱动器、SD 卡和其他外部存储设备。
- 特点:
- FAT32:适用于较小的存储设备,但单个文件最大不能超过 4GB,且最大分区为 32GB。
- exFAT:支持更大容量的存储设备和文件,大于 4GB 的文件不成问题,适用于大容量移动存储设备。
相关文章:

解决Ubuntu下无法装载 Windows D盘的问题
电脑安装了 Windows 和 Ubuntu 24.04 后,在Ubuntu系统上装载 D盘,发现无法装载错误如下: Error mounting /dev/nvme0n1p4 at /media/jackeysong/Data: wrong fs type, bad option, bad superblock on /dev/nvme0n1p4, missing codepage or h…...

一体成型电感
一体成型电感是通过铁粉模压成型而成的同封装条件下实现更大的额定电流,且更适合批量自动化生产,较传统绕线电感有成本优势。同时,一体成型电感与磁封胶结构电感相比具有更好的磁屏蔽效果,适合EMI无法调试通过的项目使用。 但一体…...

Reed-Muller(RM)码之编码
点个关注吧! 看了一些中文的博客,RM码没有很详细的资料,所以本文尝试给出推导原理。 推导 RM码由 ( r , m ) ( r , m ) (r,m...

【蓝桥杯——物联网设计与开发】基础模块8 - RTC
目录 一、RTC (1)资源介绍 🔅简介 🔅时钟与分频(十分重要‼️) (2)STM32CubeMX 软件配置 (3)代码编写 (4)实验现象 二、RTC接口…...

聚类算法DBSCAN 改进总结
目录 DBSCAN(Density-Based Spatial Clustering of Applications with Noise) 1. HDBSCAN (Hierarchical DBSCAN) 优点: 安装: 使用实例1 效果失败 使用实例2 3. DBSCAN++ (DBSCAN with Preprocessing) 4. DBSCAN with k-distance 5. Density Peaks Clustering (DP…...

uniapp开发微信小程序实现获取“我的位置”
1. 创建GetLocation项目 使用HBuilder X创建一个项目GetLocation,使用Vue3。 2. 在腾讯地图开放平台中创建应用 要获取位置,在小程序中需要使用腾讯地图或是高德地图。下面以腾讯地图为例。 (1)打开腾讯地图开放平台官方网址:腾讯位置服务 - 立足生态,连接未来 (2)注册…...

java中两个系统进行非对称加密,两个系统的公私钥可以用一套吗?
在非对称加密中,每个参与方应该拥有自己独立的一套公钥和私钥。非对称加密的基础在于公钥和私钥的配对使用:一个密钥用于加密信息,则另一个对应的密钥用于解密信息。具体来说: 如果A要发送一条保密消息给B,那么A会使用…...

无人设备遥控器之定向天线篇
一、定义与功能 定向天线,顾名思义,是通过改变天线的辐射方向,实现信号发射、接收和增强的天线。它可以让信号以更高的功率、更远的距离传输到指定区域,同时也能够降低与周围天线之间的干扰。在无人设备遥控器中,定向天…...

【电路笔记 信号】Metastability 平均故障间隔时间(MTBF)公式推导:进入亚稳态+退出亚稳态+同步器的可靠性计算
这是一个简化的电路分析模型。图2中的典型触发器包括主锁存器、从锁存器和去耦反相器(这个结构类似 主从边沿触发器)。 在亚稳态中,主锁存器的节点A、B的电压电平大致在逻辑“1”(VDD)和“0”(GND)之间。确切的电压电平…...

计算机视觉:原理、分类与应用
计算机视觉是当今科技领域中一个至关重要的分支,它赋予了计算机通过视觉感知和理解世界的能力。简单来说,计算机视觉实现了对图像、视频等视觉数据的分析、处理、识别和理解。这是一个跨学科的研究领域,涉及计算机科学、信息工程、数学、物理…...

Vue.js组件开发-使用watch进行深度观察
在Vue.js中,watch选项允许观察和响应Vue实例上数据的变化。当需要对某个数据属性进行深度观察,即在其内部嵌套的对象或数组发生变化时也能触发回调时,可以使用deep选项。 示例: new Vue({el: #app,data: {user: {name: John,age…...

明厨亮灶系统
校园食堂明厨亮灶AI分析系统通过yolov5网络模型技术,校园食堂明厨亮灶监控分析系统针对校园餐厅后厨不按要求戴口罩、不穿厨师帽、陌生人员进入后厨、厨师不穿厨师服、上班时间玩手机、老鼠识别等行为校园食堂明厨亮灶监控分析系统自动识别抓拍告警。Yolo算法&#…...

虚幻引擎结构之AActor
在虚幻引擎中,AActor 是一个核心类,作为游戏世界内所有可交互对象的基础。任何可以在关卡中放置或动态生成的对象,几乎都是从 AActor 类派生而来。这包括但不限于角色、道具、特效、静态和动态物体等。 1. AActor 的基本概念 AActor 作为基类…...

基于JAVA+SpringBoot+Vue的制造装备物联及生产管理ERP系统
基于JAVASpringBootVue的制造装备物联及生产管理ERP系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末附源码下载链接&am…...

JAVA HTTP压缩数据
/*** 压缩数据包** param code* param data* param resp* throws IOException*/protected void writeZipResult(int code, Object data, HttpServletResponse resp) throws IOException {resp.setHeader("Content-Encoding", "gzip");// write到客户端resp…...

VSCode 配置远程连接免密登录 插件
自我存档 远程连接免密登录 远程连接 在扩展界面搜remote ssh 安装完成后可以在侧边栏找到远程资源管理器 通过来添加或者点击打开ssh配置文件 点击的话以这种方式, 手动添加则按照相同格式输入即可 格式如下所示, Host后添加IP, User是登录ssh的用户, hostname是显示在…...

VIVO C++开发面试题及参考答案
面向过程与面向对象的区别,面向对象后的好处 面向过程编程主要关注的是程序的流程,它将一个问题分解为一系列的步骤,通过函数来实现这些步骤,数据和操作这些数据的函数是分离的。例如,在一个简单的计算学生成绩平均值的程序中,我们可能会有一些函数来输入成绩、计算总和、…...

Unity3D用正则判断身份证号或邮箱
系列文章目录 unity工具 文章目录 系列文章目录👉前言👉一、正则判断邮箱格式👉二、正则判断身份证号👉壁纸分享👉总结👉前言 C#正则表达式(Regex)是一种用来匹配字符串模式的强大工具。在C#中,可以使用System.Text.RegularExpressions命名空间下的Regex类来处…...

【终端工具】FinalShell v4.5.12 官方版
1.下载地址 【终端工具】FinalShell v4.5.12 官方版 2.简介 FinalShell是一款免费的跨平台远程管理工具,专为开发者和运维人员设计。它支持通过 SSH、SFTP 等方式连接到 Linux 和 Windows 服务器,提供类似于终端的操作界面。除了常规的远程登录功能&a…...

【阅读记录-章节6】Build a Large Language Model (From Scratch)
系列文章目录 【阅读记录-章节1】Build a Large Language Model (From Scratch) 【阅读记录-章节2】Build a Large Language Model (From Scratch) 【阅读记录-章节3】Build a Large Language Model (From Scratch) 【阅读记录-章节4】Build a Large Language Model (From Scr…...

面向未来的教育技术:智能成绩管理系统的开发
3.1 可行性研究 成绩管理系统开发实现分析需要从不同的角度来进行分析可行性,比如从时间角度,经济角度,甚至操作角度。从不同的角度分析可行性会让成绩管理系统开发具体化,进而达到辩证开发的正确性。 3.1.1 经济可行性 从经济方面…...

Mac系统下 IDEA配置Maven本地仓库
1.为什么需要配置本地仓库? 在软件开发过程中,使用Maven工具进行依赖管理是常见的做法。Maven通过集中管理各种依赖库,能够帮助开发者在项目中轻松地引入所需的第三方库,并确保项目能够顺利构建和部署。然而,在使用Mav…...

shell脚本定义特殊字符导致执行mysql文件错误的问题
记得有一次版本发布过程中有提供一个sh脚本用于一键执行sql文件,遇到一个shell脚本定义特殊字符的问题,sh脚本的内容类似以下内容: # 数据库ip地址 ip"127.0.0.1" # 数据库密码 cmdbcmdb!#$! smsm!#$!# 执行脚本文件(参…...

【C++ 基础】构造和析构
构造和析构 1.养成一个习惯,只要是变量,定义后要初始化 2.在C当中要完成对象的初始化工作,可以借助构造来完成,如果要完成对象的清理操作,借助析构来完成 3.在C里面对于对象的初始化有4种方式: 1、直接…...

C语言项目 天天酷跑(上篇)
前言 这里讲述这个天天酷跑是怎么实现的,我会在天天酷跑的下篇添加源代码,这里会讲述天天酷跑这个项目是如何实现的每一个思路,都是作者自己学习于别人的代码而创作的项目和思路,这个代码和网上有些许不一样,因为掺杂了…...

Python读取Excel批量写入到PPT生成词卡
一、问题的提出 有网友想把Excel表中的三列数据,分别是:单词、音标和释义分别写入到PPT当中,每一张PPT写一个单词的内容。这种批量操作是python的强项,尤其是在办公领域,它能较好地解放双手,读取Excel表后…...

NS3学习——tcpVegas算法代码详解(1)
目录 一、源码 二、详解 1.定义日志和命名空间 2.注册Typeld类:TcpVegas和GetTypeId方法的实现 3.构造函数和析构函数 4.TcpVegas类中成员函数 (1) Fork函数 (2) PktsAcked函数 (3) EnableVegas函数 (4) DisableVegas函数 一、源码 /* -*- Mode:C; c-file-style:&qu…...

相机雷达外参标定综述“Automatic targetless LiDAR–camera calibration: a survey“
相机雷达外参标定综述--Automatic targetless LiDAR–camera calibration: a survey 前言1 Introduction2 Background3 Automatic targetless LiDAR–camera calibration3.1 Information theory based method(信息论方法)3.1.1 Pairs of point cloud and image attributes(属性…...

【Java基础-27】Java中的访问修饰符:分类、作用及应用场景
在Java编程中,访问修饰符(Access Modifiers)是控制类、方法、变量和构造函数访问权限的关键工具。通过合理使用访问修饰符,可以有效地封装代码,保护数据,并确保代码的安全性和可维护性。本文将详细介绍Java…...

Redis+注解实现限流机制(IP、自定义等)
简介 在项目的使用过程中,限流的场景是很多的,尤其是要提供接口给外部使用的时候,但是自己去封装的话,相对比较耗时。 本方式可以使用默认(方法),ip、自定义参数进行限流,根据时间…...