There are two ways around your problem. You could use filesystem labels in grub instead of UUIDs and/or you could change the NTFS UUID with a hex editor.
Since one of the partitions already has a label you could use that instead of the UUID.
blkid:
/dev/sdc1: LABEL="WxP" UUID="5E70A7E470A7C0DF" TYPE="ntfs" PARTUUID="4b879f19-01"
/dev/sdb1: UUID="5E70A7E470A7C0DF" TYPE="ntfs" PARTUUID="000b3f5d-01"
search --set=root --label WxP
For the other partition sdb1 as I said:
ntfslabel /dev/sdb1 new-label
Then in grub:
search --set=root --label new-label
Quote:
Ideally you would need to change the UUIDs to be "unique". Which you would probably have to do under windows, since it's NTFS.
|
Actually Windows has no concept of filesystem UUIDs. The 32 digit UUIDs used for Linux filesystems as well as lvm volume groups and physical volumes are a Linux concept. The 16 digit UUIDs that show up with blkid for NTFS partitions are generated from the volume serial number in the NTFS superblock. Microsoft actually provided detailed descriptions of the superblock in NTFS filesystems. Since UUIDs are a Linux concept there are no Windows tools to change them.
If you change this volume serial number with dd and a hex editor a different UUID will be generated. I found a web page which describes this procedure.
https://www.linux.com/blog/howto-mod...ntfs-partition
Basically you copy the NTFS superblock to a file using dd, use a hex editor to change a few bytes in the volume serial number, and write it back with dd.
Quote:
dd if=/dev/sda# of=my_block bs=512 count=1
hexedit my_block (or what ever hex editor you like. Alter a byte or two between 0x48 and 0x4f, inclusive)
dd if=my_block of=/dev/sda# bs=512 count=1
|