Why can't Pi 4B read a copied back-up micro-sd card in a usb card reader?Find the right device name of an SD card connected via a USB card readerUSB Hard drive mounting as Read-OnlyWhy does my USB drive appeared split in two?PANIC: VFS: Unable to mount root fs on unknown-block(179,2)Impossible to restore a backup raspberry 3 imageWhy can't I write to a mounted USB hard disk drive?how to get / mounted as external USB drive?Use SD Card Copier to create backup to USB, then copy back to SD card?Can't mount USB driveHow to copy files from an SD in a USB card reader
Colored grid with coordinates on all sides?
'spazieren' - walking in a silly and affected manner?
My colleague treats me like he's my boss, yet we're on the same level
How to get frequency counts using column breaks by row?
New coworker has strange workplace requirements - how should I deal with them?
How could reincarnation magic be limited to prevent overuse?
Can I leave a large suitcase at TPE during a 4-hour layover, and pick it up 4.5 days later when I come back to TPE on my way to Taipei downtown?
What is the motivation behind designing a control stick that does not move?
Can authors email you PDFs of their textbook for free?
How were US credit cards verified in-store in the 1980's?
Heuristic argument for the Riemann Hypothesis
Can the inductive kick be discharged without a freewheeling diode, in this example?
Why does the U.S. military maintain their own weather satellites?
Can a pet cat attune to a magical item?
How would a disabled person earn their living in a medieval-type town?
How to run a command 1 out of N times in Bash
Heavy Box Stacking
What is the definition of belonging in axiomatic set theory?
How to save money by shopping at a variety of grocery stores?
How smart contract transactions work?
Cheap oscilloscope showing 16 MHz square wave
Using font to highlight a god's speech in dialogue
Sum and average calculator
How can I improve my formal definitions?
Why can't Pi 4B read a copied back-up micro-sd card in a usb card reader?
Find the right device name of an SD card connected via a USB card readerUSB Hard drive mounting as Read-OnlyWhy does my USB drive appeared split in two?PANIC: VFS: Unable to mount root fs on unknown-block(179,2)Impossible to restore a backup raspberry 3 imageWhy can't I write to a mounted USB hard disk drive?how to get / mounted as external USB drive?Use SD Card Copier to create backup to USB, then copy back to SD card?Can't mount USB driveHow to copy files from an SD in a USB card reader
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I am using the SD Card Copier accessory to make a micro-sd card back-up. The back-up card (in a micro-sd to USB adapter) is recognized by the copier as sdb, and I know that the copying is OK, because I can replace the OS micro-sd card by the back-up card, and the Pi boots successfully with everything in place.
On my previous Pi (model 3B) I could check the back-up card by simply removing it from the USB port (as it was unmounted) and re-plugging it so that I could inspect it via pcmanfm.
On the Pi 4 the re-plugged micro-sd back-up card is not recognized by the system and is impossible to mount or read. I can read it in the File Manager on my desktop PC, so there is presumably no problem with the micro-sd card itself.
Is there anything I can do to read the back-up card on the Pi 4?
mount backup
New contributor
add a comment |
I am using the SD Card Copier accessory to make a micro-sd card back-up. The back-up card (in a micro-sd to USB adapter) is recognized by the copier as sdb, and I know that the copying is OK, because I can replace the OS micro-sd card by the back-up card, and the Pi boots successfully with everything in place.
On my previous Pi (model 3B) I could check the back-up card by simply removing it from the USB port (as it was unmounted) and re-plugging it so that I could inspect it via pcmanfm.
On the Pi 4 the re-plugged micro-sd back-up card is not recognized by the system and is impossible to mount or read. I can read it in the File Manager on my desktop PC, so there is presumably no problem with the micro-sd card itself.
Is there anything I can do to read the back-up card on the Pi 4?
mount backup
New contributor
What does admesg
command show when you plug it in? Do the partitions need anfsck -f -y /dev/sdxx
run to clean them?
– Dougie
7 hours ago
add a comment |
I am using the SD Card Copier accessory to make a micro-sd card back-up. The back-up card (in a micro-sd to USB adapter) is recognized by the copier as sdb, and I know that the copying is OK, because I can replace the OS micro-sd card by the back-up card, and the Pi boots successfully with everything in place.
On my previous Pi (model 3B) I could check the back-up card by simply removing it from the USB port (as it was unmounted) and re-plugging it so that I could inspect it via pcmanfm.
On the Pi 4 the re-plugged micro-sd back-up card is not recognized by the system and is impossible to mount or read. I can read it in the File Manager on my desktop PC, so there is presumably no problem with the micro-sd card itself.
Is there anything I can do to read the back-up card on the Pi 4?
mount backup
New contributor
I am using the SD Card Copier accessory to make a micro-sd card back-up. The back-up card (in a micro-sd to USB adapter) is recognized by the copier as sdb, and I know that the copying is OK, because I can replace the OS micro-sd card by the back-up card, and the Pi boots successfully with everything in place.
On my previous Pi (model 3B) I could check the back-up card by simply removing it from the USB port (as it was unmounted) and re-plugging it so that I could inspect it via pcmanfm.
On the Pi 4 the re-plugged micro-sd back-up card is not recognized by the system and is impossible to mount or read. I can read it in the File Manager on my desktop PC, so there is presumably no problem with the micro-sd card itself.
Is there anything I can do to read the back-up card on the Pi 4?
mount backup
mount backup
New contributor
New contributor
New contributor
asked 8 hours ago
Peter NPeter N
61 bronze badge
61 bronze badge
New contributor
New contributor
What does admesg
command show when you plug it in? Do the partitions need anfsck -f -y /dev/sdxx
run to clean them?
– Dougie
7 hours ago
add a comment |
What does admesg
command show when you plug it in? Do the partitions need anfsck -f -y /dev/sdxx
run to clean them?
– Dougie
7 hours ago
What does a
dmesg
command show when you plug it in? Do the partitions need an fsck -f -y /dev/sdxx
run to clean them?– Dougie
7 hours ago
What does a
dmesg
command show when you plug it in? Do the partitions need an fsck -f -y /dev/sdxx
run to clean them?– Dougie
7 hours ago
add a comment |
3 Answers
3
active
oldest
votes
I don't think the Pi model is a factor here.
When you made your backup, did you select New partition UUIDs?
If not, that's likely the problem.
SD Card Copier help says this:
Under Raspbian Stretch and later versions, you cannot mount two partitions with the same UUID, so you will not be able to mount a cloned SD card when booted from the disk from which it was cloned. If you need to do this, check the "New Partition UUIDs" box before copying.
You can change the UUID with this command:
sudo tune2fs /dev/sdb2 -U random
After that, unplug the microSD adapter, then reinsert it. It should auto-mount from now on. If not, try rebooting.
New contributor
Good point (I always change PARTUID) which is what the SD Card Copier does, but AFAIK when SD Card Copier creates the newext4
partition it should have a unique UUID - although other methods of cloning a card may not.
– Milliways
5 hours ago
The correct command to generate a new UUID issudo tune2fs /dev/sdb2 -U random
NOTE partition /dev/sdb2 rather than disk /dev/sdb
– Milliways
5 hours ago
@Milliways Good catch. My answer is updated.
– Botspot
4 hours ago
add a comment |
I regularly read SD Cards on my Pi4, so this is possible.
(The USB3 ports on the Pi4 have some limitations with USB2 devices, although I would not expect this to affect a SD Card reader, but have had occasional problems and usually use one of the USB2 ports.)
I have experienced only one problem which proved to be due to a faulty Card.
I need to manually mount the Card, and can post the script I use to do this.
#!/bin/bash
# 2017-05-06
# 2018-11-18
BOOT_MOUNT='/mnt/SDA1'
ROOT_MOUNT='/mnt/SDA2'
# Check/create Mount Points
if [ ! -e $BOOT_MOUNT ]; then
mkdir $BOOT_MOUNT
fi
if [ ! -e $ROOT_MOUNT ]; then
mkdir $ROOT_MOUNT
fi
echo "mounts " $BOOT_MOUNT $ROOT_MOUNT
if [ -e /dev/sda ]; then
SD1='/dev/sda1'
SD2='/dev/sda2'
else
SD1='/dev/sdb1'
SD2='/dev/sdb2'
fi
echo $SD
# Mount Partitions
if ! $(mountpoint -q $BOOT_MOUNT); then
mount $SD1 $BOOT_MOUNT # mount partition containing boot files
fi
if ! $(mountpoint -q $ROOT_MOUNT); then
mount $SD2 $ROOT_MOUNT # mount root partition containing OS files
fi
The following unmounts SD Cards
#!/bin/bash
# 2017-05-06
# 2018-11-18
BOOT_MOUNT='/mnt/SDA1'
ROOT_MOUNT='/mnt/SDA2'
umount $SD1 $BOOT_MOUNT # mount partition containing boot files
umount $SD2 $ROOT_MOUNT # mount root partition containing OS files
add a comment |
The point raised by Botspot is valid.
You should give SD Card copies a unique PARTUUID
which needs to be changed in several places.
The following script set-diskid
will set PARTUUID
on a booted system in all the correct places.
It can be invoked with sudo set-diskid -n
NOTE you need to reboot after running the script.
#!/bin/bash
errexit()
echo ""
echo "$1"
echo ""
exit 1
usage()
errexit "Usage: $0 [-n
if [ $(id -u) -ne 0 ]; then
errexit "$0 must be run as root user"
fi
PTUUID="$1"
if [ "$PTUUID" = "" ]; then
usage
fi
if [ "$PTUUID" = "-n" ]; then
echo $PTUUID
PTUUID=$(uuid | cut -c-8)
fi
PTUUID="$(tr [A-Z] [a-z] <<< "$PTUUID")"
if [[ ! "$PTUUID" =~ ^[[:xdigit:]]8$ ]]; then
errexit "Invalid DiskID: $PTUUID"
fi
echo ""
echo -n "Set DiskID to $PTUUID on /dev/mmcblk0 (y/n)? "
while read -r -n 1 -s answer; do
if [[ "$answer" = [yYnN] ]]; then
echo "$answer"
if [[ "$answer" = [yY] ]]; then
break
else
errexit "Aborted"
fi
fi
done
echo ""
fdisk /dev/mmcblk0 <<EOF > /dev/null
p
x
i
0x$PTUUID
r
p
w
EOF
sync
PARTUUID="$(sed -n 's|^.*PARTUUID=(S+)s.*|1|p' /boot/cmdline.txt)"
if [ "$PARTUUID" != "" ]; then
sed -i "s|PARTUUID=S+s|PARTUUID=$PTUUID-02 |" /boot/cmdline.txt
sed -i "s|$PARTUUID:0:($#PARTUUID - 1)|$PTUUID-0|" /etc/fstab
fi
sync
NOTE PARTUUID
and UUID
are different entities.
UUID
is a 128-bit number used to identify information in computer systems, in particular it is used to identify partitions on GPT & Linux filesystem.
MBR does not support partition UUIDs, but Linux supports
PARTUUID
for MBR partitions.
The format is SSSSSSSS-PP, where SSSSSSSS is a 32-bit MBR disk signature (stored in the MBR label-id field), and PP is a partition number.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("schematics", function ()
StackExchange.schematics.init();
);
, "cicuitlab");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "447"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Peter N is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fraspberrypi.stackexchange.com%2fquestions%2f102089%2fwhy-cant-pi-4b-read-a-copied-back-up-micro-sd-card-in-a-usb-card-reader%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
I don't think the Pi model is a factor here.
When you made your backup, did you select New partition UUIDs?
If not, that's likely the problem.
SD Card Copier help says this:
Under Raspbian Stretch and later versions, you cannot mount two partitions with the same UUID, so you will not be able to mount a cloned SD card when booted from the disk from which it was cloned. If you need to do this, check the "New Partition UUIDs" box before copying.
You can change the UUID with this command:
sudo tune2fs /dev/sdb2 -U random
After that, unplug the microSD adapter, then reinsert it. It should auto-mount from now on. If not, try rebooting.
New contributor
Good point (I always change PARTUID) which is what the SD Card Copier does, but AFAIK when SD Card Copier creates the newext4
partition it should have a unique UUID - although other methods of cloning a card may not.
– Milliways
5 hours ago
The correct command to generate a new UUID issudo tune2fs /dev/sdb2 -U random
NOTE partition /dev/sdb2 rather than disk /dev/sdb
– Milliways
5 hours ago
@Milliways Good catch. My answer is updated.
– Botspot
4 hours ago
add a comment |
I don't think the Pi model is a factor here.
When you made your backup, did you select New partition UUIDs?
If not, that's likely the problem.
SD Card Copier help says this:
Under Raspbian Stretch and later versions, you cannot mount two partitions with the same UUID, so you will not be able to mount a cloned SD card when booted from the disk from which it was cloned. If you need to do this, check the "New Partition UUIDs" box before copying.
You can change the UUID with this command:
sudo tune2fs /dev/sdb2 -U random
After that, unplug the microSD adapter, then reinsert it. It should auto-mount from now on. If not, try rebooting.
New contributor
Good point (I always change PARTUID) which is what the SD Card Copier does, but AFAIK when SD Card Copier creates the newext4
partition it should have a unique UUID - although other methods of cloning a card may not.
– Milliways
5 hours ago
The correct command to generate a new UUID issudo tune2fs /dev/sdb2 -U random
NOTE partition /dev/sdb2 rather than disk /dev/sdb
– Milliways
5 hours ago
@Milliways Good catch. My answer is updated.
– Botspot
4 hours ago
add a comment |
I don't think the Pi model is a factor here.
When you made your backup, did you select New partition UUIDs?
If not, that's likely the problem.
SD Card Copier help says this:
Under Raspbian Stretch and later versions, you cannot mount two partitions with the same UUID, so you will not be able to mount a cloned SD card when booted from the disk from which it was cloned. If you need to do this, check the "New Partition UUIDs" box before copying.
You can change the UUID with this command:
sudo tune2fs /dev/sdb2 -U random
After that, unplug the microSD adapter, then reinsert it. It should auto-mount from now on. If not, try rebooting.
New contributor
I don't think the Pi model is a factor here.
When you made your backup, did you select New partition UUIDs?
If not, that's likely the problem.
SD Card Copier help says this:
Under Raspbian Stretch and later versions, you cannot mount two partitions with the same UUID, so you will not be able to mount a cloned SD card when booted from the disk from which it was cloned. If you need to do this, check the "New Partition UUIDs" box before copying.
You can change the UUID with this command:
sudo tune2fs /dev/sdb2 -U random
After that, unplug the microSD adapter, then reinsert it. It should auto-mount from now on. If not, try rebooting.
New contributor
edited 4 hours ago
New contributor
answered 5 hours ago
BotspotBotspot
464 bronze badges
464 bronze badges
New contributor
New contributor
Good point (I always change PARTUID) which is what the SD Card Copier does, but AFAIK when SD Card Copier creates the newext4
partition it should have a unique UUID - although other methods of cloning a card may not.
– Milliways
5 hours ago
The correct command to generate a new UUID issudo tune2fs /dev/sdb2 -U random
NOTE partition /dev/sdb2 rather than disk /dev/sdb
– Milliways
5 hours ago
@Milliways Good catch. My answer is updated.
– Botspot
4 hours ago
add a comment |
Good point (I always change PARTUID) which is what the SD Card Copier does, but AFAIK when SD Card Copier creates the newext4
partition it should have a unique UUID - although other methods of cloning a card may not.
– Milliways
5 hours ago
The correct command to generate a new UUID issudo tune2fs /dev/sdb2 -U random
NOTE partition /dev/sdb2 rather than disk /dev/sdb
– Milliways
5 hours ago
@Milliways Good catch. My answer is updated.
– Botspot
4 hours ago
Good point (I always change PARTUID) which is what the SD Card Copier does, but AFAIK when SD Card Copier creates the new
ext4
partition it should have a unique UUID - although other methods of cloning a card may not.– Milliways
5 hours ago
Good point (I always change PARTUID) which is what the SD Card Copier does, but AFAIK when SD Card Copier creates the new
ext4
partition it should have a unique UUID - although other methods of cloning a card may not.– Milliways
5 hours ago
The correct command to generate a new UUID is
sudo tune2fs /dev/sdb2 -U random
NOTE partition /dev/sdb2 rather than disk /dev/sdb– Milliways
5 hours ago
The correct command to generate a new UUID is
sudo tune2fs /dev/sdb2 -U random
NOTE partition /dev/sdb2 rather than disk /dev/sdb– Milliways
5 hours ago
@Milliways Good catch. My answer is updated.
– Botspot
4 hours ago
@Milliways Good catch. My answer is updated.
– Botspot
4 hours ago
add a comment |
I regularly read SD Cards on my Pi4, so this is possible.
(The USB3 ports on the Pi4 have some limitations with USB2 devices, although I would not expect this to affect a SD Card reader, but have had occasional problems and usually use one of the USB2 ports.)
I have experienced only one problem which proved to be due to a faulty Card.
I need to manually mount the Card, and can post the script I use to do this.
#!/bin/bash
# 2017-05-06
# 2018-11-18
BOOT_MOUNT='/mnt/SDA1'
ROOT_MOUNT='/mnt/SDA2'
# Check/create Mount Points
if [ ! -e $BOOT_MOUNT ]; then
mkdir $BOOT_MOUNT
fi
if [ ! -e $ROOT_MOUNT ]; then
mkdir $ROOT_MOUNT
fi
echo "mounts " $BOOT_MOUNT $ROOT_MOUNT
if [ -e /dev/sda ]; then
SD1='/dev/sda1'
SD2='/dev/sda2'
else
SD1='/dev/sdb1'
SD2='/dev/sdb2'
fi
echo $SD
# Mount Partitions
if ! $(mountpoint -q $BOOT_MOUNT); then
mount $SD1 $BOOT_MOUNT # mount partition containing boot files
fi
if ! $(mountpoint -q $ROOT_MOUNT); then
mount $SD2 $ROOT_MOUNT # mount root partition containing OS files
fi
The following unmounts SD Cards
#!/bin/bash
# 2017-05-06
# 2018-11-18
BOOT_MOUNT='/mnt/SDA1'
ROOT_MOUNT='/mnt/SDA2'
umount $SD1 $BOOT_MOUNT # mount partition containing boot files
umount $SD2 $ROOT_MOUNT # mount root partition containing OS files
add a comment |
I regularly read SD Cards on my Pi4, so this is possible.
(The USB3 ports on the Pi4 have some limitations with USB2 devices, although I would not expect this to affect a SD Card reader, but have had occasional problems and usually use one of the USB2 ports.)
I have experienced only one problem which proved to be due to a faulty Card.
I need to manually mount the Card, and can post the script I use to do this.
#!/bin/bash
# 2017-05-06
# 2018-11-18
BOOT_MOUNT='/mnt/SDA1'
ROOT_MOUNT='/mnt/SDA2'
# Check/create Mount Points
if [ ! -e $BOOT_MOUNT ]; then
mkdir $BOOT_MOUNT
fi
if [ ! -e $ROOT_MOUNT ]; then
mkdir $ROOT_MOUNT
fi
echo "mounts " $BOOT_MOUNT $ROOT_MOUNT
if [ -e /dev/sda ]; then
SD1='/dev/sda1'
SD2='/dev/sda2'
else
SD1='/dev/sdb1'
SD2='/dev/sdb2'
fi
echo $SD
# Mount Partitions
if ! $(mountpoint -q $BOOT_MOUNT); then
mount $SD1 $BOOT_MOUNT # mount partition containing boot files
fi
if ! $(mountpoint -q $ROOT_MOUNT); then
mount $SD2 $ROOT_MOUNT # mount root partition containing OS files
fi
The following unmounts SD Cards
#!/bin/bash
# 2017-05-06
# 2018-11-18
BOOT_MOUNT='/mnt/SDA1'
ROOT_MOUNT='/mnt/SDA2'
umount $SD1 $BOOT_MOUNT # mount partition containing boot files
umount $SD2 $ROOT_MOUNT # mount root partition containing OS files
add a comment |
I regularly read SD Cards on my Pi4, so this is possible.
(The USB3 ports on the Pi4 have some limitations with USB2 devices, although I would not expect this to affect a SD Card reader, but have had occasional problems and usually use one of the USB2 ports.)
I have experienced only one problem which proved to be due to a faulty Card.
I need to manually mount the Card, and can post the script I use to do this.
#!/bin/bash
# 2017-05-06
# 2018-11-18
BOOT_MOUNT='/mnt/SDA1'
ROOT_MOUNT='/mnt/SDA2'
# Check/create Mount Points
if [ ! -e $BOOT_MOUNT ]; then
mkdir $BOOT_MOUNT
fi
if [ ! -e $ROOT_MOUNT ]; then
mkdir $ROOT_MOUNT
fi
echo "mounts " $BOOT_MOUNT $ROOT_MOUNT
if [ -e /dev/sda ]; then
SD1='/dev/sda1'
SD2='/dev/sda2'
else
SD1='/dev/sdb1'
SD2='/dev/sdb2'
fi
echo $SD
# Mount Partitions
if ! $(mountpoint -q $BOOT_MOUNT); then
mount $SD1 $BOOT_MOUNT # mount partition containing boot files
fi
if ! $(mountpoint -q $ROOT_MOUNT); then
mount $SD2 $ROOT_MOUNT # mount root partition containing OS files
fi
The following unmounts SD Cards
#!/bin/bash
# 2017-05-06
# 2018-11-18
BOOT_MOUNT='/mnt/SDA1'
ROOT_MOUNT='/mnt/SDA2'
umount $SD1 $BOOT_MOUNT # mount partition containing boot files
umount $SD2 $ROOT_MOUNT # mount root partition containing OS files
I regularly read SD Cards on my Pi4, so this is possible.
(The USB3 ports on the Pi4 have some limitations with USB2 devices, although I would not expect this to affect a SD Card reader, but have had occasional problems and usually use one of the USB2 ports.)
I have experienced only one problem which proved to be due to a faulty Card.
I need to manually mount the Card, and can post the script I use to do this.
#!/bin/bash
# 2017-05-06
# 2018-11-18
BOOT_MOUNT='/mnt/SDA1'
ROOT_MOUNT='/mnt/SDA2'
# Check/create Mount Points
if [ ! -e $BOOT_MOUNT ]; then
mkdir $BOOT_MOUNT
fi
if [ ! -e $ROOT_MOUNT ]; then
mkdir $ROOT_MOUNT
fi
echo "mounts " $BOOT_MOUNT $ROOT_MOUNT
if [ -e /dev/sda ]; then
SD1='/dev/sda1'
SD2='/dev/sda2'
else
SD1='/dev/sdb1'
SD2='/dev/sdb2'
fi
echo $SD
# Mount Partitions
if ! $(mountpoint -q $BOOT_MOUNT); then
mount $SD1 $BOOT_MOUNT # mount partition containing boot files
fi
if ! $(mountpoint -q $ROOT_MOUNT); then
mount $SD2 $ROOT_MOUNT # mount root partition containing OS files
fi
The following unmounts SD Cards
#!/bin/bash
# 2017-05-06
# 2018-11-18
BOOT_MOUNT='/mnt/SDA1'
ROOT_MOUNT='/mnt/SDA2'
umount $SD1 $BOOT_MOUNT # mount partition containing boot files
umount $SD2 $ROOT_MOUNT # mount root partition containing OS files
edited 5 hours ago
answered 7 hours ago
MilliwaysMilliways
33.6k14 gold badges59 silver badges127 bronze badges
33.6k14 gold badges59 silver badges127 bronze badges
add a comment |
add a comment |
The point raised by Botspot is valid.
You should give SD Card copies a unique PARTUUID
which needs to be changed in several places.
The following script set-diskid
will set PARTUUID
on a booted system in all the correct places.
It can be invoked with sudo set-diskid -n
NOTE you need to reboot after running the script.
#!/bin/bash
errexit()
echo ""
echo "$1"
echo ""
exit 1
usage()
errexit "Usage: $0 [-n
if [ $(id -u) -ne 0 ]; then
errexit "$0 must be run as root user"
fi
PTUUID="$1"
if [ "$PTUUID" = "" ]; then
usage
fi
if [ "$PTUUID" = "-n" ]; then
echo $PTUUID
PTUUID=$(uuid | cut -c-8)
fi
PTUUID="$(tr [A-Z] [a-z] <<< "$PTUUID")"
if [[ ! "$PTUUID" =~ ^[[:xdigit:]]8$ ]]; then
errexit "Invalid DiskID: $PTUUID"
fi
echo ""
echo -n "Set DiskID to $PTUUID on /dev/mmcblk0 (y/n)? "
while read -r -n 1 -s answer; do
if [[ "$answer" = [yYnN] ]]; then
echo "$answer"
if [[ "$answer" = [yY] ]]; then
break
else
errexit "Aborted"
fi
fi
done
echo ""
fdisk /dev/mmcblk0 <<EOF > /dev/null
p
x
i
0x$PTUUID
r
p
w
EOF
sync
PARTUUID="$(sed -n 's|^.*PARTUUID=(S+)s.*|1|p' /boot/cmdline.txt)"
if [ "$PARTUUID" != "" ]; then
sed -i "s|PARTUUID=S+s|PARTUUID=$PTUUID-02 |" /boot/cmdline.txt
sed -i "s|$PARTUUID:0:($#PARTUUID - 1)|$PTUUID-0|" /etc/fstab
fi
sync
NOTE PARTUUID
and UUID
are different entities.
UUID
is a 128-bit number used to identify information in computer systems, in particular it is used to identify partitions on GPT & Linux filesystem.
MBR does not support partition UUIDs, but Linux supports
PARTUUID
for MBR partitions.
The format is SSSSSSSS-PP, where SSSSSSSS is a 32-bit MBR disk signature (stored in the MBR label-id field), and PP is a partition number.
add a comment |
The point raised by Botspot is valid.
You should give SD Card copies a unique PARTUUID
which needs to be changed in several places.
The following script set-diskid
will set PARTUUID
on a booted system in all the correct places.
It can be invoked with sudo set-diskid -n
NOTE you need to reboot after running the script.
#!/bin/bash
errexit()
echo ""
echo "$1"
echo ""
exit 1
usage()
errexit "Usage: $0 [-n
if [ $(id -u) -ne 0 ]; then
errexit "$0 must be run as root user"
fi
PTUUID="$1"
if [ "$PTUUID" = "" ]; then
usage
fi
if [ "$PTUUID" = "-n" ]; then
echo $PTUUID
PTUUID=$(uuid | cut -c-8)
fi
PTUUID="$(tr [A-Z] [a-z] <<< "$PTUUID")"
if [[ ! "$PTUUID" =~ ^[[:xdigit:]]8$ ]]; then
errexit "Invalid DiskID: $PTUUID"
fi
echo ""
echo -n "Set DiskID to $PTUUID on /dev/mmcblk0 (y/n)? "
while read -r -n 1 -s answer; do
if [[ "$answer" = [yYnN] ]]; then
echo "$answer"
if [[ "$answer" = [yY] ]]; then
break
else
errexit "Aborted"
fi
fi
done
echo ""
fdisk /dev/mmcblk0 <<EOF > /dev/null
p
x
i
0x$PTUUID
r
p
w
EOF
sync
PARTUUID="$(sed -n 's|^.*PARTUUID=(S+)s.*|1|p' /boot/cmdline.txt)"
if [ "$PARTUUID" != "" ]; then
sed -i "s|PARTUUID=S+s|PARTUUID=$PTUUID-02 |" /boot/cmdline.txt
sed -i "s|$PARTUUID:0:($#PARTUUID - 1)|$PTUUID-0|" /etc/fstab
fi
sync
NOTE PARTUUID
and UUID
are different entities.
UUID
is a 128-bit number used to identify information in computer systems, in particular it is used to identify partitions on GPT & Linux filesystem.
MBR does not support partition UUIDs, but Linux supports
PARTUUID
for MBR partitions.
The format is SSSSSSSS-PP, where SSSSSSSS is a 32-bit MBR disk signature (stored in the MBR label-id field), and PP is a partition number.
add a comment |
The point raised by Botspot is valid.
You should give SD Card copies a unique PARTUUID
which needs to be changed in several places.
The following script set-diskid
will set PARTUUID
on a booted system in all the correct places.
It can be invoked with sudo set-diskid -n
NOTE you need to reboot after running the script.
#!/bin/bash
errexit()
echo ""
echo "$1"
echo ""
exit 1
usage()
errexit "Usage: $0 [-n
if [ $(id -u) -ne 0 ]; then
errexit "$0 must be run as root user"
fi
PTUUID="$1"
if [ "$PTUUID" = "" ]; then
usage
fi
if [ "$PTUUID" = "-n" ]; then
echo $PTUUID
PTUUID=$(uuid | cut -c-8)
fi
PTUUID="$(tr [A-Z] [a-z] <<< "$PTUUID")"
if [[ ! "$PTUUID" =~ ^[[:xdigit:]]8$ ]]; then
errexit "Invalid DiskID: $PTUUID"
fi
echo ""
echo -n "Set DiskID to $PTUUID on /dev/mmcblk0 (y/n)? "
while read -r -n 1 -s answer; do
if [[ "$answer" = [yYnN] ]]; then
echo "$answer"
if [[ "$answer" = [yY] ]]; then
break
else
errexit "Aborted"
fi
fi
done
echo ""
fdisk /dev/mmcblk0 <<EOF > /dev/null
p
x
i
0x$PTUUID
r
p
w
EOF
sync
PARTUUID="$(sed -n 's|^.*PARTUUID=(S+)s.*|1|p' /boot/cmdline.txt)"
if [ "$PARTUUID" != "" ]; then
sed -i "s|PARTUUID=S+s|PARTUUID=$PTUUID-02 |" /boot/cmdline.txt
sed -i "s|$PARTUUID:0:($#PARTUUID - 1)|$PTUUID-0|" /etc/fstab
fi
sync
NOTE PARTUUID
and UUID
are different entities.
UUID
is a 128-bit number used to identify information in computer systems, in particular it is used to identify partitions on GPT & Linux filesystem.
MBR does not support partition UUIDs, but Linux supports
PARTUUID
for MBR partitions.
The format is SSSSSSSS-PP, where SSSSSSSS is a 32-bit MBR disk signature (stored in the MBR label-id field), and PP is a partition number.
The point raised by Botspot is valid.
You should give SD Card copies a unique PARTUUID
which needs to be changed in several places.
The following script set-diskid
will set PARTUUID
on a booted system in all the correct places.
It can be invoked with sudo set-diskid -n
NOTE you need to reboot after running the script.
#!/bin/bash
errexit()
echo ""
echo "$1"
echo ""
exit 1
usage()
errexit "Usage: $0 [-n
if [ $(id -u) -ne 0 ]; then
errexit "$0 must be run as root user"
fi
PTUUID="$1"
if [ "$PTUUID" = "" ]; then
usage
fi
if [ "$PTUUID" = "-n" ]; then
echo $PTUUID
PTUUID=$(uuid | cut -c-8)
fi
PTUUID="$(tr [A-Z] [a-z] <<< "$PTUUID")"
if [[ ! "$PTUUID" =~ ^[[:xdigit:]]8$ ]]; then
errexit "Invalid DiskID: $PTUUID"
fi
echo ""
echo -n "Set DiskID to $PTUUID on /dev/mmcblk0 (y/n)? "
while read -r -n 1 -s answer; do
if [[ "$answer" = [yYnN] ]]; then
echo "$answer"
if [[ "$answer" = [yY] ]]; then
break
else
errexit "Aborted"
fi
fi
done
echo ""
fdisk /dev/mmcblk0 <<EOF > /dev/null
p
x
i
0x$PTUUID
r
p
w
EOF
sync
PARTUUID="$(sed -n 's|^.*PARTUUID=(S+)s.*|1|p' /boot/cmdline.txt)"
if [ "$PARTUUID" != "" ]; then
sed -i "s|PARTUUID=S+s|PARTUUID=$PTUUID-02 |" /boot/cmdline.txt
sed -i "s|$PARTUUID:0:($#PARTUUID - 1)|$PTUUID-0|" /etc/fstab
fi
sync
NOTE PARTUUID
and UUID
are different entities.
UUID
is a 128-bit number used to identify information in computer systems, in particular it is used to identify partitions on GPT & Linux filesystem.
MBR does not support partition UUIDs, but Linux supports
PARTUUID
for MBR partitions.
The format is SSSSSSSS-PP, where SSSSSSSS is a 32-bit MBR disk signature (stored in the MBR label-id field), and PP is a partition number.
edited 7 secs ago
answered 4 hours ago
MilliwaysMilliways
33.6k14 gold badges59 silver badges127 bronze badges
33.6k14 gold badges59 silver badges127 bronze badges
add a comment |
add a comment |
Peter N is a new contributor. Be nice, and check out our Code of Conduct.
Peter N is a new contributor. Be nice, and check out our Code of Conduct.
Peter N is a new contributor. Be nice, and check out our Code of Conduct.
Peter N is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Raspberry Pi Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fraspberrypi.stackexchange.com%2fquestions%2f102089%2fwhy-cant-pi-4b-read-a-copied-back-up-micro-sd-card-in-a-usb-card-reader%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What does a
dmesg
command show when you plug it in? Do the partitions need anfsck -f -y /dev/sdxx
run to clean them?– Dougie
7 hours ago