Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

Kopiera ett linuxsystem på en partition till en annan partition

Jag gjorde misstaget att installera ett linuxsystem (MiniEX/SliTaz) på en partition om bara 1 GB. Efter diverse programinstallationer och remasteråtgärder var disken full. Vad skulle jag då göra? Jag ville inte gärna göra en nyinstallation av MiniEX, eftersom har jag lagt ner en del tid på att få systemet precis så som jag vill ha det. Först tänkte jag att jag måste skaffa programmet Ghost eller ett "Ghost-linknade" program. Sen kom jag på att jag borde kunna göra så här:

1. Starta upp ett linuxsystem från hårddisken. (Vilket som helst - dock givetvis inte det som ska klonas/kopieras). Eller starta upp datorn från en Linux live cd/dvd om du bara har ett linuxsystem på datorn

2. Formatera en befintlig tillräckligt stor partition på datorn med filsystemet ext3 eller skapa en sådan partition med GParted eller liknade program. Kommando (exempel): mkfs.ext3 /dev/sda6

3. Montera partitionen till vilken kopiering ska ske. Kommando: mount /dev/sda6 /mnt/sda6

4. Montera partitionen på vilken linuxsystemet som ska kopieras finns. Kommando: mount /dev/sda8 /mnt/sda8

5. Gå sedan till det linuxsystem som ska kopieras: Kommando: cd /mnt/sda8

6. Därefter körs själva kopieringskommandot: cp -a * /mnt/sda6

7. Till slut redigeras den befintliga GRUB-konfigureringen så att startdata för partition sda6 blir korrekt. I mitt fall alltså startdata för SliTaz/MiniEX. Så här ska det då se ut:
########################
title MiniEX Linux
root(hd0,5)
kernel /boot/vmlinuz-2.6.25.5-slitaz root=/dev/hda6 vga=normal
boot

########################

Klart för omstart av datorn!

Det fungerade (som väntat) hur fint som helst.

Observera: Alla kommandon måste givetvis köras som root. Om du använder Ubuntu eller andra linuxsystem som har programmet Sudo installerat kan du bara lägga till ett sudo framför resp. kommando.

Observera också att du kan behöva ändra i /etc/fstab på den nya partitionen så att / blir rätt.

Redigering 100325
Rättat diverse skrivfel och lagt till en rad om /etc/fstab.

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

pingus bild

Ett par detaljer bara:

1. Ändra i /etc/fstab också, så / blir rätt
2. Du har /dev/sda vid kopiering men /dev/hda i grub

3. Ett helt annan detalj:
Om man använder ext så reserveras som standard 5% av diskutrymmet för root. Detta är en säkerhetsåtgärd, även om en användare fyller disken så kan root alltid logga in o fixa. (Om systemdisken är fylld till 100% går det inte ens logga in!)
Men 5% är en kvarleva från den tid då diskarna var små, idag räcker det gott med 1% - på en 250GB-disk tappar man annars 10GB utrymme...
"-m#" fixar detta, så kommandot blir:
# mkfs.ext3 -m1 /dev/sda6

----------------------------
In Pingvino veritas!

http://www.tuxit.se
http://blogg.skuttungecity.se

extons bild

Just för MiniEX/ZliTaz måste det stå hda i GRUB. Beror på kerneln. (Antar jag). Du har f ö rätt i att man normalt måste ändra också i /etc/fstab. Just för MiniEX/SliTaz behövs det inte.

LINUX.EXTON.NET

pingus bild

normalt måste ändra också i /etc/fstab. Just för MiniEX/SliTaz behövs det inte.
Nu blev jag nyfiken: hur är detta fixat?
(Antar att jag kan kolla det själv på din eminenta hemsida men är faktiskt lite lat idag.)
(Vadå "idag??"  ;-)   )

----------------------------
In Pingvino veritas!

http://www.tuxit.se
http://blogg.skuttungecity.se

extons bild

Så här ser /etc/fstab ut i MiniEX/SliTaz.

###############
# /etc/fstab: information about static file system.
proc            /proc        proc    defaults        0       0
sysfs           /sys         sysfs   defaults         0       0
devpts          /dev/pts     devpts  defaults    0       0
tmpfs           /dev/shm     tmpfs   defaults    0        0
/dev/cdrom      /media/cdrom iso9660 user,ro,noauto   0  0
/dev/hda5    swap    swap    default    0 0
###############

Det finns alltså inget att ändra.

Det förklaras (möjligen) av att /etc/mtab ser ut så här.

###############
rootfs / rootfs rw 0 0
/dev/root / ext3 rw,errors=continue,data=ordered 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,mode=600 0 0
tmpfs /dev/shm tmpfs rw 0 0
usbfs /proc/bus/usb usbfs rw 0 0
###############

 

LINUX.EXTON.NET

tux-svens bild

Mycket intressant inlägg. Jag skall lägga det bland "bra-och-ha-filerna". Smile

Om man inte har någon användbar partition att flytta till kanske man kunde mellanlagra på en USB-sticka medans man "möblerar om" och skapar rätt utrymme på sin hårddisk?? (Om man vill utöka den gamla root-partitionen)

---

Windows are for houses, Linux is for computers!

 

extons bild

Ja, det är jag säker på att du kan göra utan problem. När du sedan vill föra över systemet på stickan till den nya utökande partitionen följer du bara min "instruktion".

Du måste givetvis formatera stickan med filsystemet ext3 eller ext2 före "mellanlagringen".

Testa gärna och rapportera här.

LINUX.EXTON.NET

pingus bild

Man kan faktiskt kopiera även det system man kör, måste bara tänka till lite innan.

Det är olämpligt att kopiera allt - /* - framför allt om man har monterade partitioner!
Jag brukar göra så här: Kör "ls /  > textfil"
Redigera textfilen, du vill inte kopiera /dev och /proc, bara skapa katalogerna. Du vill heller inte kopiera monterade partitioner, exvis /home
Så ett utdrag ur textfilen (med nya partitionen monterad på /mnt/sys2):

cp -a /bin /mnt/sys2/
cp -a boot /mnt/sys2/
mkdir /mnt/sys2/dev
cp -a /etc /mnt/sys2/
mkdir /mnt/sys2/home

----------------------------
In Pingvino veritas!

http://www.tuxit.se
http://blogg.skuttungecity.se

extons bild

Ja, det blir ungefär som när man "manuellt" installerar någon av mina remasters, som saknar installationsprogram, t. ex. EXTON-PAR 2009 (Pardus 2009). Då gör man så HÄR.

LINUX.EXTON.NET

LAltinells bild

 Varför kör du cp -a och inte dd? Smaksak eller?

fredentofts bild

Laltinell: Troligtvis eftersom:

  1. Han ska kopiera till en större partition.
  2. cp kopierar bara filer (använt utrymme) medan dd kopierar hela partitionen utan att veta vad som är filer och vad som är tomt utrymme.
  3. Eftersom 1. är det säkrare att först skapa en ny tom partition och kopiera in filerna än att kopiera partitionen och sedan ändra storlek på kopian.

Själv skulle jag dock köra rsync --partial -a /källa/ /mål/ eftersom man då kan "fortsätta" om man skulle behöva avbryta kopieringen.

-
För övrigt anser jag att trådindenteringen måste lagas
-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

En annan fördel med rsync är --exclude som är bra när du kopierar tex ett system som du kör för du vill ju inte kopiera tex /proc

fredentofts bild

och --delete som tar bort sånt som tagits bort i källan, bör dock användas med stor försiktighet i de flesta fall.

-
För övrigt anser jag att trådindenteringen måste lagas
-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

extons bild

Det är just för att undvika "problem" med /proc och /sys m m, som jag skriver som jag gör i punkt 1 i "instruktionen" ovan. Och heller inte i första hand rekommenderar att man kopierar ett system som körs.

LINUX.EXTON.NET

hoths bild

Finns det ett bra sätt att göra samma sak, fast för ett filsystem med Windows?

----
Linux växer snabbast!

extons bild

Såvitt jag känner till är det (bara) Ghost som gäller då. Försåvitt man inte kan köra samma kommandon. Man formaterar då givetvis aktuell partition med filsystemet fat32 eller NTFS. (Beroende på vilket filsystem "originalsystemet" har). Borde kunna gå. Något att testa kanske?

Kommando nr 6 måste modifieras så att det ser ut så här: cp -a . /mnt/sda6
Detta för att alla dolda filer i roten på det windowssystem som ska kopieras ska komma med till den nya partitionen. Det fick jag lära mig i denna forumtråd.

LINUX.EXTON.NET

hoths bild

Tack för tipset!

Jag läste om Ghost och då dök dd-kommandot upp som referens. Frågan är väl om inte dd skulle kunna användas, rakt av? Den kopierar ju, som jag förstår det, en disk/fil rakt av. Eller? 

http://en.wikipedia.org/wiki/Dd_%28Unix%29

----
Linux växer snabbast!

extons bild

V g se fredentofts kommentar ovan angående dd-kommandot. Själv har jag bara använt det för att omvandla ett linuxsystem på en CD/DVD till en ISO-fil. Exempelkommando:
dd if=/dev/hdd of=MittSystem.iso seek=0 bs=32k

(/dev/hdd är alltså CD/DVD-skivan)

LINUX.EXTON.NET

hoths bild

Aah, OK. Ja, jag vet att dd iofs. är ganska så livsfarlig. Enligt ett förslag på min länk ovan så skulle det uttydas som "disc destroyer"...

----
Linux växer snabbast!

hoths bild

Tyvärr så kunde jag inte använda din utmärkta guide eftersom min dator vägrar att boota från skiva eller sticka. Däremot så kan den boota från en floppy.

Alternativ metod blev då "HDCLONE Free", ett tips från Datormagazin, se sidan http://www.datormagazin.se/frinedladdning/allaprogram/article77998.ece

Har startat kopieringen nu. Men, det skall ta fem(5)(sic!) timmar att kopiera bara ca. 20GB data från den interna disken till en extern USB-disk. Har bara USB1 på denna dator, men jag tycker det i alla fall är skandal dåligt. Återkommer med rapport hur det går.

----
Linux växer snabbast!

fsns bild

Eftersom USB1 flyttar data med max 1,2MB i sekunden så är 5 timmar för 20GB en rätt rimlig tid, det går liksom inte fortare än så. 20GB / 1,2MB/s / 3600 = 4,6 timmar.

hoths bild

OK då, låt gå för det. Att denna dator enbart har USB1 är ett av skälen till att jag byter dator. Har en USB-sticka som används för inloggning på jobbet. Det går... men inte fort...

----
Linux växer snabbast!

pingus bild

Om du lägger "nya" Windows:et på annan partition så måste ett antal variabler ställas om, vet faktiskt inte om det går öht.

----------------------------
In Pingvino veritas!

http://www.tuxit.se
http://blogg.skuttungecity.se

mindlights bild

Microsoft släppte med Vista ett nytt system för detta.

Verktygen från Microsoft jobbar med WIM-filer.

http://en.wikipedia.org/wiki/Windows_Imaging_Format

(Något felaktigt antyder artikeln att det kom med W2k8 och W7. Jag har Vistaskivor med recoveryfunktion som bygger på WIM.

 

Dock har mina egna experiment visat att detta inte alls är som Ghost där du pekar ut en partition eller hel disk och sedan får allt ner i en enda fil. Vid återställning från WIM måste du peka ut en befintlig NTFS-partition som är formatterad och klar.

Oavsett vilket så funkar det klockrent.

Om du flyttar systemdisken till en annan partition räcker det med att ändra i C:\Boot.ini för att få det att funka.

I Vista och senare introducerades en ny bootloader som du kan manipulera med verktyg på skivan med Vista / W7... orkar inte gå in på detaljer då de flesta här är här för Linuxtips och inte Windowstips.

Om något verkligen är intresserad så får ni väl tjata i tråden alternativt messa mig privat Smile

---------------------------
Q: What is the difference between Bill Gates and Batman?
A: Batman beat the penguin...

hoths bild

Tack för tipset, jag antar att det var till mig? Jag insåg i alla fall att mitt problem förtjänade en egen tråd så jag skapade denna istället

http://www.linuxportalen.se/forums/2010/04/18/kopiera-ett-windows-system...

Har inte kommit så långt ännu, men om jag har frågår så skall jag be att få återkomma vid ett senare tillfälle!

----
Linux växer snabbast!