Partcopy voor linux ubuntu

Status
Niet open voor verdere reacties.

gamesoft

Gebruiker
Lid geworden
12 jun 2006
Berichten
169
Hallo!

Is er een soort partcopy.exe maar dan voor ubuntu?
Of kan dit misschien met een commando?
Ik wil namelijk een bestand van 512 bytes groot in sector één van een floppy zetten.
Deze heb ik nodig om mijn zelfgemaakte bootloader op een floppy te zetten.

Alvast dank!
 
http://users.pandora.be/franz.ulenaers/mbr.html zei:
Met het Linux commando dd kun je gemakkelijk sectoren van je harde schijf downloaden, deze sectoren wijzigen met een HexEditor en deze sectoren later terug zetten op je harde schijf.

Dit maakt het mogelijk om bijvoorbeeld de MBR Master Boot Record en de PT Partitietabellen te backuppen, te wijzigen of terug te zetten.
Zo is het ook mogelijk om ongeldige partitietabellen te herstellen.
Hier enkel linkjes waar je denk ik wel wat aan hebt
http://users.pandora.be/franz.ulenaers/mbr.html
http://www.keesmoerman.nl/partition.html

van de eerste link onderaan de pagina
Hoe kan mijn partitietabel restoren ?
Doe het omgekeerde :

Terugzetten van de mbr record
dd if=hda.mbr of=/dev/hda
Terugzetten van de volledige partitietabel , primary en uitgebreide partities
sfdisk /dev/hda <parttblhda.sf
Dit kun je enkel maar doen als de disk niet in gebruik is !
Dit kan je doen door o.a. op te starten van een live CD zoals Knoppix.

Dit heb ik enke via google gezocht voor je en zou me er persoonlijk nog ff niet aan wagen, tenzij er nood aan de man is.(ik moet eerst ff andere zaken leren) Maar jij lijkt er verstand van te hebben, aangezien je het zelf geschreen hebt, schrijf je. Dus ik kan je verder niet helpen, dan je hierop te wijzen.

Hoop ook dat dit is wat je bedoeld en dat voor floppy's het zelfde geld.

groetjes Fantje

PS met deze link kom je bij Jan Gnodde op een site en daar staat bij puntje 5 precies uitgelegd hoe een opstart flop te maken en wat de commands zijn.
 
Laatst bewerkt:
Dit is niet echt wat ik bedoel...

Ik wil weten hoe je in linux iets in sector 1 van de floppy kan zetten:rolleyes:.
Niet hoe je exacte kopieën moet maken:(.
 
Ik wil niet eigenwijs zijn maar ik denk het toch wel, je moet alleen je eigen bestandje terug zetten. Dan staat die eerste sector vol met een MBR en jouw bootloader. Want een bootloader is een deel van het MBR volgens onderstaande quote.
MBR Master Boot Record

De Bootsector is de eerste sector van schijf, deze sector wordt ook soms de Master Boot Record genoemd. De laatste twee bytes van deze sector moet altijd de hexadecimale waarde 55AA ofwel de decimale waarde 43603 bevatten.
Harde schijven zijn verdeeld in sectoren van 512 bytes. De partitie-informatie bevindt zich in de eerste sector (512 bytes) van iedere harde schijf . Hier zit de Master Boot Record (MBR) welke juist 512 bytes groot is.
De MBR wordt tijdens het partitioneren van de vaste schijf door het programma FDISK gemaakt (er zijn ook andere programma's op de markt zoals Disk Druïde).
De MBR bevat het master boot programma, Fout boodschappen, enige vrije ruimte en de partitietabel.
De partitietabel (meestal afgekort als PT) in de MBR bestaat uit 64 bytes op het einde van de eerste sector juist voor de laatste twee bytes x'55AA'.

Bij het booten van de harde schijf wordt het master boot programma uitgevoerd. Dit klein programmatje leest en controleert de partitietabel, de harde schijf wordt benaderd met BIOS routines. Hierbij komt nog geen besturingssysteem te pas. Foutmeldingen als : 'de partitietabel is ongeldig', 'Fout tijdens het laden van besturingssysteem', .. komen voor.

Meestal wordt dit master boot programma ook wel boot-loader genoemd. Voor Linux staat hier het resultaat van de linux programma’s LILO of GRUB , dit programma toont een menu met de bedoeling een selectie te maken. Heb je hierbij een Linux Operating systeem gekozen dan wordt de kernel in een partitie gezocht en in het geheugen geladen.
bron:http://users.pandora.be/franz.ulenaers/mbr.html#layoutdeel

jouw commando moet ongeveer dit zijn :
Code:
dd if=jouwbestandje of=/dev/fd [U]bs=512 count=1[/U]
Wat onderstreept is ben ik niet zeker van of dat ook voor jouw zo is. En zegt dat de hele MBR inclusief de partitie tabel herschreven wordt. zie onderstaande quote.
$ sudo dd if=/dev/hda of=/mnt/uba1/mbr_apollo_backup bs=512 count=1

Het dd commando maakt images aan van schijven, maar de parameter bs betekent dat het dd commando in stukken van 512 bytes moet werken, terwijl de count parameter zegt dat maar 1 x te doen.
Daar we weten dat de MBR de eerste 512 bytes van de schijf inneemt, kopieert het commando dus onze MBR naar het bestand mbr_apollo_backup op het device /mnt/uba1 die onze memorystick is.

Je zou deze safety backup voor alle systemen moeten doen, en niet alleen voor een Linux systeem waar je met Knoppix op draait
Restore

Eens je je MBR gebackuped hebt, kun je je MBR altijd terugplaatsen als er zich een probleem mocht voordoen. Dit doe je door het dd commando gewoon om te draaien. De if wordt of en omgekeerd:

$ sudo dd if=/mnt/uba1/mbr_apollo_backup of=/dev/hda bs=512 count=1

Je moet hierbij wel onhouden dat je hier én je boot info én je partitie tabel terugplaatst. Dat betekent dat je iedere keer als je je partities aanpast, je een nieuwe backup van je MBR moet nemen.
Als je tussen je laatste backup en het restoren niks veranderd hebt aan je partities, werk dat commando heel goed. Heb je echter wel een andere partitie instelling op je systeem sinds je laatste backup van je MBR dan moet je het volgend ecommando gebruiken:

$ sudo dd if=/mnt/uba1/mbr_apollo_backup of=/dev/hda bs=446 count=1

De boot-code bevindt zich in de eerste 446 bytes van je MBR; de laatste 66 bytes zijn deze die de partietabel bevatten. Doorenkel de eerste 446 bytes terug te zetten van de 512, herstel je enkel je boot-gedeelte van je MBR en laat je je partitie tabel ongemoeid. Restore je de volle 512 bytes dan heb je boot-code en de partitietabel terug.
bron :http://linux.seniorennet.be/distro/knoppix/knoppix002.html

Hier houd ik op, en ben benieuwd of het je lukt.
Groetjes Fantje
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan