Ik heb een SD kaart van 16 GB die ik voor een RPI heb geconfigureerd als DSP. Op het kaartje staat nog geen 4 GB aan data. Ik wil van deze kaart graag een kopie maken op een 8GB kaartje. Als ik een image maak van de 16 GB kaart is deze 16 GB groot. Ik kan hem dan wel schrijven naar de 8GB kaart, maar zoals verwacht werkt dit niet goed. Ik heb op internet gezocht naar andere mogelijkheden en Paragon geprobeerd. Maar dit programma levert ook niet het juiste resultaat. Wie weet iets waarmee ik dit onder windows kan oplossen?
Vraag
Alle reacties
En gewoon de mappen in root directory kopiëren en plakken ? (Desnoods eerst in een mapje op de pc)
Een image moet je ook kunnen krijgen van de data zelf, dus rond de 4GB (anders een soort shrink tool gebruiken op de 16GB image die lege data eraf gooit.
Een image moet je ook kunnen krijgen van de data zelf, dus rond de 4GB (anders een soort shrink tool gebruiken op de 16GB image die lege data eraf gooit.
[ Voor 44% gewijzigd door ToFast op 17-03-2018 22:12 ]
De kaart bestaat uit twee partities Root(D:) en Boot (Linux), die kun je niet zomaar kopiëren. Ik wil geen enkel risico lopen met de 16GB kaart, de configuratie heeft me veel tijd gekost.ToFast schreef op zaterdag 17 maart 2018 @ 22:11:
En gewoon de mappen in root directory kopiëren en plakken ? (Desnoods eerst in een mapje op de pc)
Een image moet je ook kunnen krijgen van de data zelf, dus rond de 4GB (anders een soort shrink tool gebruiken op de 16GB image die lege data eraf gooit.
Wil je een image hebben die werkt of hebt je de data nodig?
Als je een image wilt die past op het 8GB kaartje moet je de image kleiner maken. Je kunt voordat je de image aanmaakt de partities op het 16GB kaartje verkleinden zodat het totaal wel past op de 8GB. Tools zoals GParted (Linux) kunnen dit probleemloos.
Als je de data wilt kun je een ext3/4 extensie voor windows installeren zodat je de bestanden van het SD-kaartje kan uitlezen. Zie bijv. https://www.techgainer.co...-windows-explorer-easily/ er vanuit gaande dat het bestandssysteem een ext variant is.
Een andere optie zou mogelijk zijn Linux Subsysteem installeren voor Windows 10, zodat je een "native" Linux omgeving hebt binnen Windows. Hiermee heb je toegang tot de Windows omgeving, zoals partities enz maar kan je toch Linux taken uitvoeren, zoals het uitlezen van een ext partitie.
Als je een image wilt die past op het 8GB kaartje moet je de image kleiner maken. Je kunt voordat je de image aanmaakt de partities op het 16GB kaartje verkleinden zodat het totaal wel past op de 8GB. Tools zoals GParted (Linux) kunnen dit probleemloos.
Als je de data wilt kun je een ext3/4 extensie voor windows installeren zodat je de bestanden van het SD-kaartje kan uitlezen. Zie bijv. https://www.techgainer.co...-windows-explorer-easily/ er vanuit gaande dat het bestandssysteem een ext variant is.
Een andere optie zou mogelijk zijn Linux Subsysteem installeren voor Windows 10, zodat je een "native" Linux omgeving hebt binnen Windows. Hiermee heb je toegang tot de Windows omgeving, zoals partities enz maar kan je toch Linux taken uitvoeren, zoals het uitlezen van een ext partitie.
Met Win32 Disk Imager kan ik hier prima images naar een kleinere sd wegschrijven. En anders backup image maken van 16GB kaartje, partitie verkleinen op de kaart. en dan clonen naar de kleinere SD kaart. Omslachtig, maar werkt 100% zeker zonder data kwijt te raken.
Ik had gehoopt op een oplossing om een kleinere image te maken zonder de kaart te beïnvloeden. Maar kennelijk is het verkleinen van de image op de huidige 16GB kaart een laag risico. Ik gebruik minitool partition wizard, ik neem aan dat ik dat ook kan gebruiken om de vrije ruimte van de 16 GB kaart terug te brengen. Als ik het goed begrijp levert dat een kleinere image op dan de grootte van de SD kaart. Voor het maken van een image gebruik ik nu USB image tool (http://www.alexpage.de/), of is daarvoor een beter alternatief?
@Chooman Het gaat dus om een image die werkt als besturingssysteem voor de RPI, niet alleen de data
@-36- Het klopt dat je prima een image naar een kleinere SD kunt wegschrijven, maar mijn RPI start er niet mee op.
@Chooman Het gaat dus om een image die werkt als besturingssysteem voor de RPI, niet alleen de data
@-36- Het klopt dat je prima een image naar een kleinere SD kunt wegschrijven, maar mijn RPI start er niet mee op.
Win32 Disk Imager. Als ik daarmee een een image naar kleinere SD wegschrijf boot de RPi zonder probleem
Ik zou geen vage dingen als een of ander windows tooltje gebruiken. Uberhaupt windows gebruiken om een linux filesystem te verbouwen lijkt me geen goed plan.
Wat je kan doen is met resize2fs -M het rootfs kleiner maken tot de minimale size, daarna met fdisk de partitie kleiner maken en dan een dd van de ene sd naar de andere sd doen.
Wat je kan doen is met resize2fs -M het rootfs kleiner maken tot de minimale size, daarna met fdisk de partitie kleiner maken en dan een dd van de ene sd naar de andere sd doen.
Via linux lijkt inderdaad de beste oplossing. Maar ik kom dan in een wereld waar ik liever wegblijf. Ik heb wat tutorials bekeken en zie dat resize2fs -M alleen werkt op unmounted drives. Het is me ook niet duidelijk welk commando ik precies moet gebruiken en waarom fdisk daarna nog nodig is.johnkeates schreef op zondag 18 maart 2018 @ 01:48:
Ik zou geen vage dingen als een of ander windows tooltje gebruiken. Uberhaupt windows gebruiken om een linux filesystem te verbouwen lijkt me geen goed plan.
Wat je kan doen is met resize2fs -M het rootfs kleiner maken tot de minimale size, daarna met fdisk de partitie kleiner maken en dan een dd van de ene sd naar de andere sd doen.
Partities zijn niks anders dan een regeltje tekst in een tabel waar in staat waar een partitie start, waar hij stopt, en wat voor ID en flags hij heeft. Wat er in die partitie staat heeft dan weer niks met partitioneren of iets dergelijks te maken.
Binnen die partitie zit een bestandssysteem, daar wordt je data op een georganiseerde manier mee opgeslagen binnen de grenzen van die partitie. Het bestandssysteem houdt bij waar je data staat, welke blokjes aan elkaar geregen moeten worden om een bestand compleet te houden, en waar extra data staat over welke ruimte vrij en bezet is.
Wat je nu moet doen is eerst het bestandssysteem kleiner maken zodat je zeker weet dat er niet data of metadata ergens op die partitie staat. Dat zou namelijk problematisch zijn als je je partitie kleiner maakt, om dat er dan opeens data niet meer te bereiken is voor het bestandssysteem.
Wat je kan doen om het jezelf iets makkelijker te maken is een opstart CD of USB stick voor je computer gebruiken die goed om kan gaan met Linux, bijvoorbeeld GParted Live. https://gparted.org/livecd.php
Je kan dan met een GUI je partitie en je bestandssysteem in een klap verkleinen. Als je er eerst voor zorgt dat het zo klein mogelijk is (ik zou de boot partitie met rust laten en alleen de grote data partitie verkleinen) kan je daarna de SD kaart klonen naar de kleinere SD kaart. Zodra dat gelukt is maak je hem weer groter op de nieuwe kaart. Dat moet je doen om er voor te zorgen dat je geen lege ruimte gaat lopen kopiëren, en zodat je zeker weet dat het gaat passen. Daarnaast heb je het voordeel dat na het vergroten ook daadwerkelijk alle ruimte gebruikt wordt.
Binnen die partitie zit een bestandssysteem, daar wordt je data op een georganiseerde manier mee opgeslagen binnen de grenzen van die partitie. Het bestandssysteem houdt bij waar je data staat, welke blokjes aan elkaar geregen moeten worden om een bestand compleet te houden, en waar extra data staat over welke ruimte vrij en bezet is.
Wat je nu moet doen is eerst het bestandssysteem kleiner maken zodat je zeker weet dat er niet data of metadata ergens op die partitie staat. Dat zou namelijk problematisch zijn als je je partitie kleiner maakt, om dat er dan opeens data niet meer te bereiken is voor het bestandssysteem.
Wat je kan doen om het jezelf iets makkelijker te maken is een opstart CD of USB stick voor je computer gebruiken die goed om kan gaan met Linux, bijvoorbeeld GParted Live. https://gparted.org/livecd.php
Je kan dan met een GUI je partitie en je bestandssysteem in een klap verkleinen. Als je er eerst voor zorgt dat het zo klein mogelijk is (ik zou de boot partitie met rust laten en alleen de grote data partitie verkleinen) kan je daarna de SD kaart klonen naar de kleinere SD kaart. Zodra dat gelukt is maak je hem weer groter op de nieuwe kaart. Dat moet je doen om er voor te zorgen dat je geen lege ruimte gaat lopen kopiëren, en zodat je zeker weet dat het gaat passen. Daarnaast heb je het voordeel dat na het vergroten ook daadwerkelijk alle ruimte gebruikt wordt.
Bedankt voor je uitgebreide antwoord. Ik heb op de SD kaart Ubuntu mate geinstalleerd staan wat natuurlijk ook een GUI heeft. Maar resize 2fs en fdisk werken toch niet vanuit de GUI maar de terminal?johnkeates schreef op zondag 18 maart 2018 @ 12:56:
Partities zijn niks anders dan een regeltje tekst in een tabel waar in staat waar een partitie start, waar hij stopt, en wat voor ID en flags hij heeft. Wat er in die partitie staat heeft dan weer niks met partitioneren of iets dergelijks te maken.
Binnen die partitie zit een bestandssysteem, daar wordt je data op een georganiseerde manier mee opgeslagen binnen de grenzen van die partitie. Het bestandssysteem houdt bij waar je data staat, welke blokjes aan elkaar geregen moeten worden om een bestand compleet te houden, en waar extra data staat over welke ruimte vrij en bezet is.
Wat je nu moet doen is eerst het bestandssysteem kleiner maken zodat je zeker weet dat er niet data of metadata ergens op die partitie staat. Dat zou namelijk problematisch zijn als je je partitie kleiner maakt, om dat er dan opeens data niet meer te bereiken is voor het bestandssysteem.
Wat je kan doen om het jezelf iets makkelijker te maken is een opstart CD of USB stick voor je computer gebruiken die goed om kan gaan met Linux, bijvoorbeeld GParted Live. https://gparted.org/livecd.php
Je kan dan met een GUI je partitie en je bestandssysteem in een klap verkleinen. Als je er eerst voor zorgt dat het zo klein mogelijk is (ik zou de boot partitie met rust laten en alleen de grote data partitie verkleinen) kan je daarna de SD kaart klonen naar de kleinere SD kaart. Zodra dat gelukt is maak je hem weer groter op de nieuwe kaart. Dat moet je doen om er voor te zorgen dat je geen lege ruimte gaat lopen kopiëren, en zodat je zeker weet dat het gaat passen. Daarnaast heb je het voordeel dat na het vergroten ook daadwerkelijk alle ruimte gebruikt wordt.
Heb je een USB SD kaart lezertje? In dat geval kun je vanaf de PI, vanaf het lopende OS een geresizede kloon wegschrijven naar dat kaartlezertje. (-schijvertje in dit geval).
Ik heb een USB SD kaart lezertje. Ik zie inderdaad een optie 'create disk image'onder accessoires in Ubuntu mate en heb dit geprobeerd. Daarbij krijg ik de voorwaarde dat ik moet unmounten. Dat gaat niet als Ubuntu daarop draait.Mijzelf schreef op zondag 18 maart 2018 @ 13:58:
Heb je een USB SD kaart lezertje? In dat geval kun je vanaf de PI, vanaf het lopende OS een geresizede kloon wegschrijven naar dat kaartlezertje. (-schijvertje in dit geval).
Ik vond ook nog een mogelijkheid om te resizen met gparted. Maar ook daarbij loop je tegen het unmounten aan. Lastig klusje dit.
Nee, klonen en resizen in een keer van een lopend OS moet een beetje anders. Prik het kaartje in, en zorg dat het niet gemount is. In het geval van Ubuntu kan dat denk ik metmaar iedere methode is goed.
Vervolgens kijk je hoe het kaartje heetJe boot kaartje heet mmcblk1. Ik denk dat een USB gekoppeld SD kaartje sda zal zijn.
Maak een +/- 100MB FAT partitie aan, en de rest een (primaire) Linux partitie. Dat is ongeveerTussendoor moet je de gewenste groottes opgeven.
Zet er filesystemen op:
Mount de partities:Kopieer de boot partitie:Kopieer de 2 partitie:
Nu heb je een kloon van de inhoud van beide partities. Maar omdat de filesystemen en parities met de hand zijn aangemaakt zijn de UIDs verschillend.
Met kun je de UIDs van zowel de oude als de nieuwe kaart bekijken. (Zowel de partities als de filesystemen hebben een UID)
In /tmp/sda1/cmdline.txt moet je waarschijnlijk een UID aanpassen, en in /tmp/sda2/etc/fstab waarschijnlijk 2.
Unmount de partitiesNu kun je het kaartje uittrekken en testen.
sudo umount /media/*/*
Vervolgens kijk je hoe het kaartje heet
cat /proc/partitions
Maak een +/- 100MB FAT partitie aan, en de rest een (primaire) Linux partitie. Dat is ongeveer
sudo fdisk /dev/sda o n p t n p w
Zet er filesystemen op:
sudo mkdosfs /dev/sda1 sudo mkfs.ext4 /dev/sda2 sync
Mount de partities:
mkdir -p /tmp/sda1 sudo mount /dev/sda1 /tmp/sda1 mkdir -p /tmp/sda2 sudo mount /dev/sda1 /tmp/sda2
cd /tmp/sda1 sudo cp -a /boot/* .
cd /tmp/sda2 sudo tar -c / --one-file-system" | sudo tar x
Nu heb je een kloon van de inhoud van beide partities. Maar omdat de filesystemen en parities met de hand zijn aangemaakt zijn de UIDs verschillend.
Met
sudo blkid
In /tmp/sda1/cmdline.txt moet je waarschijnlijk een UID aanpassen, en in /tmp/sda2/etc/fstab waarschijnlijk 2.
Unmount de partities
sudo umount /mnt/sda*
Of, je doet zoals ik voorgesteld hebt:
- Download gparted live
- Prik het in je PC
- Start de PC op en kies de USB stick om vanaf op te starten
- Plug de SD kaart in
- Gebruik de GUI om je modificaties te maken
- Kloon het resultaat naar je andere SD kaart
- Sluit alles af
- Ontkoppel je SD kaart en je GParted USB stick
- Klaar!
Alternatief voor de opstart-usb-stick is virtual box downloaden, daar GParted als ISO in kiezen en opstarten, en dan met VirtualBox de SD kaart als die in een USB lezer zit doorgeven aan die VirtualBox VM.
Vanaf een lopend systeem klonen kan ik je ten zeerste afraden, hoewel je in theorie met rsync of tar en wat partitie tabel kloontjes het systeem kan dupliceren is dat niet aan te raden voor iemand die geen vaardigheden heeft op dit gebied om dat bij zo'n beetje elke afwijking van het setje instructies en bij elke non-standaard melding de persoon in kwestie niet verder kan en het in alle waarschijnlijkheid alleen maar stuk maakt.
- Download gparted live
- Prik het in je PC
- Start de PC op en kies de USB stick om vanaf op te starten
- Plug de SD kaart in
- Gebruik de GUI om je modificaties te maken
- Kloon het resultaat naar je andere SD kaart
- Sluit alles af
- Ontkoppel je SD kaart en je GParted USB stick
- Klaar!
Alternatief voor de opstart-usb-stick is virtual box downloaden, daar GParted als ISO in kiezen en opstarten, en dan met VirtualBox de SD kaart als die in een USB lezer zit doorgeven aan die VirtualBox VM.
Vanaf een lopend systeem klonen kan ik je ten zeerste afraden, hoewel je in theorie met rsync of tar en wat partitie tabel kloontjes het systeem kan dupliceren is dat niet aan te raden voor iemand die geen vaardigheden heeft op dit gebied om dat bij zo'n beetje elke afwijking van het setje instructies en bij elke non-standaard melding de persoon in kwestie niet verder kan en het in alle waarschijnlijkheid alleen maar stuk maakt.
[ Voor 11% gewijzigd door johnkeates op 18-03-2018 15:42 ]
In dat geval lijkt resizen van de bestaande partities me niet verstandig. De files op een ext4 filesysteem zijn bij mijn weten gelijkelijk over het hele oppervlak verspreid, wat betekend dat er een hoop schuif- en kopieerwerk moet gebeuren voordat je de partitie kunt verkleinen. De kans dat het kaartje het begeeft is groter dan comfortabel.Poecillia schreef op zaterdag 17 maart 2018 @ 22:15:
Ik wil geen enkel risico lopen met de 16GB kaart, de configuratie heeft me veel tijd gekost.
Dat valt wel mee, vooral als je het met een systeem dat checks uitvoert doet. Paragon en Gparted maar ook Palimpsest doen allemaal een fsck vooraf, een simulated resize, dan een echte resize, en dan weer een fsck.Mijzelf schreef op zondag 18 maart 2018 @ 15:53:
[...]
In dat geval lijkt resizen van de bestaande partities me niet verstandig. De files op een ext4 filesysteem zijn bij mijn weten gelijkelijk over het hele oppervlak verspreid, wat betekend dat er een hoop schuif- en kopieerwerk moet gebeuren voordat je de partitie kunt verkleinen. De kans dat het kaartje het begeeft is groter dan comfortabel.
Als je zou willen uitsluiten dat het kaartje het begeeft (als het een veel gebruikte is), dan kan je natuurlijk het beste eerst een disk image maken en daar je bewerkingen op doen.
Bedankt voor alle suggesties. Al met al geen routine actie. Ik heb daarom een alternatief gezocht door een image te maken van een tweede 16 GB kaart die ik nu niet gebruik en die gezipped op het NAS op te slaan. Op deze daarna geleegde kaart heb ik daarna de image gezet van de kaart die ik wilde kopiëren. Ook daarvan heb ik een gezipte image op het NAS gezet als backup. Ik heb nu twee 16GB kaarten waarmee ik met twee RPI's in ieder geval verder kan. Het blijft een beetje jammer voor de ongebruikte gigabites op deze kaartjes.
Pagina: 1