如何从 Windows XP 中的命令行生成 UUID?类似于 Linux 中的“uuid”或“uuidgen”。
如何更改vfat分区的 UUID ?
对于ext2 / ext3 / ext4,这是通过一个简单的:
tune2fs -U <new-uuid> /dev/<partition>
Run Code Online (Sandbox Code Playgroud)
是否有类似的vfat分区命令?
我正在运行 CentOS 7(64 位)。我正在尝试构建一个项目,但出现此错误。
fatal error: uuid/uuid.h: No such file or directory
#include <uuid/uuid.h>
^
compilation terminated.
make: *** [all] Error 1
Run Code Online (Sandbox Code Playgroud)
这与丢失的包裹有关吗?我已经安装了 uuid-devel。我应该安装什么包来解决这个问题?谢谢!
我正在安装一些软件,它说锁定标准是系统 UUID。现在我知道 UUID 代表什么了。我知道它们是独一无二的,并且有 128 位长。我知道如何从 windows power shell 生成它们。但我的问题是 Windows 7 机器上的系统 UUID 是什么。存放在哪里。每台计算机都有一个 UUID 的目的是什么?有人可以为我清除这些疑虑吗?除了验证同一台计算机上没有再次安装相同的软件之外,它们还有什么用?
有谁知道如何更改卷的 UUID?这个问题的背景是我有一个重复的 UUID 问题:
我有/Volumes/OldMacHD一个 XYZ 的 UUID。我有/Volumes/Mirror1一个 XYZ 的 UUID(相同的 UUID!我敢打赌这是因为 OldMacHD 曾经是这个镜像的一部分)。我通过以下方式获得了这些 UUID:
diskutil info /dev/thatdisknumber | grep UUID
Run Code Online (Sandbox Code Playgroud)
我想更改Mirror1.
我偶然发现了该hfs.util实用程序,因为这些毕竟是 HFS 卷。该用于手册页hfs.util说,如果你发出的-s标志,这改变了UUID。但是,如果您自己输入hfs.util所有内容,它根本不会向您显示-s选项,只会显示除此之外的所有选项!咕噜噜 反正我试过了:
sudo /System/Library/Filesystems/hfs.fs/hfs.util -s /dev/disk4 (the raid volume).
Run Code Online (Sandbox Code Playgroud)
没发生什么事。没有错误信息,没有成功信息。UUID 完全一样。我在卸载卷时尝试过。
有任何想法吗?
这类似于这里提出的问题:
唯一的区别是我想将其更改为特定值,而不是随机值。hfs.util 似乎只是随机的。
我考虑修改hfs.util 源以允许我指定值。当我在代码中寻找从哪里开始进行更改时,我想起了为什么 C不是我最喜欢的语言。后来几次编译错误和段错误,我失去了尝试修改这个工具的热情。我愿意在休息后再次尝试,但我认为必须有一种更简单的方法来更改我只是不知道的卷的 UUID。
所以在我浪费时间之前,有没有人知道一种简单的方法来做到这一点?或者有没有 C 专家愿意加入我的努力,让 hfs.util 将 UUID 更改为指定值?
以下是我为了能够从源 OS X 10.6.8 编译该工具所做的更改:
hfsutil_jnl.c:
47: #include <hfs_fsctl.h>
Run Code Online (Sandbox Code Playgroud)
hfsutil_main.c:
80: #include <uuid/uuid.h>
81: /* REMOVED */
Run Code Online (Sandbox Code Playgroud)
并且,正如本文所暗示的,将fs.c 中第 166 行的以下内容添加到 hfsutil_main.c(因为 namespace.h 不在系统中的任何位置):
static unsigned char kFSUUIDNamespaceSHA1[] = {0xB3,0xE2,0x0F,0x39,0xF2,0x92,0x11,0xD6,0x97,0xA4,0x00,0x30,0x65,0x43,0xEC,0xAC};
Run Code Online (Sandbox Code Playgroud)
最后,我抓取了这个文件并将其添加到工作目录http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/hfs/hfs_fsctl.h
我有几台机器联网在一起,我使用有关主板的信息来唯一地标识它们。这是我用来获取它的 Windows PowerShell 代码:
\n>> $Manufacturer\xc2\xa0=\xc2\xa0Get-WmiObject\xc2\xa0win32_baseboard\xc2\xa0|\xc2\xa0select-object\xc2\xa0-expand\xc2\xa0Manufacturer\n>> $Product\xc2\xa0=\xc2\xa0Get-WmiObject\xc2\xa0win32_baseboard\xc2\xa0|\xc2\xa0select-object\xc2\xa0-expand\xc2\xa0Product\n>> $SerialNumber\xc2\xa0=\xc2\xa0Get-WmiObject\xc2\xa0win32_baseboard\xc2\xa0|\xc2\xa0select-object\xc2\xa0-expand\xc2\xa0SerialNumber\n>> $UUID\xc2\xa0=\xc2\xa0(Get-WmiObject\xc2\xa0-Class\xc2\xa0Win32_ComputerSystemProduct).UUID\n>> write-host\xc2\xa0$Manufacturer~$Product~$SerialNumber~$UUID\nMicro-Star International Co., Ltd.~PRO B650M-A WIFI (MS-7D77)~To be filled by O.E.M.~FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF\nRun Code Online (Sandbox Code Playgroud)\n然而,我最近获得的一款二手主板的序列号和 UUID 值有一些异常。
\n显然序列号以某种方式被擦除了?它被返回为To be filled by O.E.M.. 而且 UUID 也不起作用;我刚刚得到FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF。
我碰巧有另一个型号完全相同的主板,当我在其上运行相同的命令时,我确实获得了唯一的序列号和唯一的 UUID。
\n这是我在 Ebay 上购买并使用过的制造商 (MSI) 翻新板。我不确定这是否是翻新主板上的典型行为?
\n有什么方法可以恢复序列号(理想情况下,win32_baseboard 命令可以正确返回序列号)和/或生成保留在主板上的新 UUID?
\n我是 React 编程的初学者,我在 Youtube 上关注本教程:https : //youtu.be/hQAHSlTtcmY一切顺利,直到需要安装 uuid 库,然后当我运行页面时,我收到一条错误消息: "编译失败。
./src/App.js
未找到模块:无法解析 'C:\Users\username\reactnative\src'" 中的 'uuid/v4' 所以有人能帮我解决这个错误吗?代码中也没有其他错误,这正是和视频中显示的一样!
我在我的 PC 上单独运行 Debian Wheezy,最近我使用rsync将根分区复制到另一个分区,因为我发现它运行良好(我也知道 dd 和 ddrescue,但它们在新分区上留下了无法使用的空间)。我使用sudo tune2fs -U random /dev/hda9为新分区生成了一个新的随机 UUID,并更新了 fstab / 和 /home 条目。
然后,由于我对 GRUB 知之甚少,我使用了一个 gui(GRUB 定制器)来探测新的操作系统,并向 GRUB 和 MBR 添加一个条目 - 它创建一个 /etc/grub.d 条目然后更新 GRUB。
启动时,GRUB 列表包含新操作系统(在 sda9 上),但它会引导第一个操作系统(我从 -sda5 复制)。
/boot/grub/grub.cfg 包含新的 debian 操作系统,但它看起来像这样
set root='(hd0,msdos9)'
search --no-floppy --fs-uuid --set=root 64662470-0e58-4dfd-90ac-43227d773556
linux /boot/vmlinuz-3.2.0-2-amd64 root=UUID=cc3bca0d-aee4-4b9c-95c2-57212cc36d4d ro quiet
initrd /boot/initrd.img-3.2.0-2-amd64
Run Code Online (Sandbox Code Playgroud)
第一个 uuid 是 sda9,但第二个 uuid 是 sda5。我可以在启动时更改第二个 uuid(使用 E)并启动 sda9。
那么我怎样才能更正 grub.cfg 以便 sda9 GRUB 列表条目从 sda9 永久启动?
我最近为 USB 记忆棒添加了一行/etc/fstab,以便能够自动安装它,使用 UUID 来识别设备。
在我已经有几个外部 ext4 驱动器之前,它们的 UUID 以小写十六进制字符编写,[0-9a-f]如下所示:
UUID=3eeaaa43-dead-beef-cafe-243bcaaad475 /media/external_2TB ext4 rw,user,noexec,nosuid,nodev,noatime 0 2
Run Code Online (Sandbox Code Playgroud)
我检查了 UUID 的 UUID blkid,得到一个大写的十六进制 UUID 并/etc/fstab以与 ext4 行相同的方式输入它,以小写十六进制,如下所示:
UUID=125c-a3eb /media/usb_8GB vfat defaults,users,umask=0 0 0
mount: special device UUID=125c-a3eb does not exist
Run Code Online (Sandbox Code Playgroud)
然后我想到了用大写字母(gU3w在 Vim 中)尝试它的想法,并且它没有问题。为了确认这一点,我卸载了 UUID,并将 UUID 改回小写,挂载失败,然后又改回大写,并成功挂载。
据我了解,UUID 是一个十六进制数,而不是一个字符串,所以字母的大小写应该无关紧要。但显然不是。RFC4122将 UUID 定义为“输入时不区分大小写”。有什么我遗漏的还是这个mount/umount行为是一个错误?
如果重要的话,我正在使用带有自定义内核版本 3.6.8 的 Debian GNU/Linux 7.0 Wheezy。
uuid ×10
linux ×3
hfs ×2
macos ×2
c ×1
centos ×1
command-line ×1
filesystems ×1
fstab ×1
grub ×1
javascript ×1
json ×1
motherboard ×1
mount ×1
partitioning ×1
powershell ×1
react.js ×1
umount ×1
windows ×1
windows-7 ×1
windows-xp ×1
wmi ×1