Skip to main content

gParted über Netzwerk booten bzw. starten.

gParted ist ein Programm, um Partionen auf einer Festplatte bearbeiten zu können.

Quelle: https://gparted.org/

Vorbereitungen

  • aktuelle ISO-Datei von gParted herunterladen
  • Die ISO Datei entweder unter Windows bereitstellen (aka mounten) oder mit 7-Zip / WinRAR öffnen
  • aus dem unterverzeichnis /live die Dateien

    filesystem.squashfs
    initrd.img
    vmlinuz

    entpacken und auf einen Webserver kopieren, der die Dateien für den Netzwerkboot bereitstellt. Es ist ratsam dort einen eigenen Ordner namens gparted anzulegen.

iPXE Configdatei


Nur Text
#!ipxe
set boot-url http://<YOURSERVER>/<YOURPATH>
kernel  ${boot-url}/gparted/vmlinuz boot=live config components union=overlay username=user noswap noeject ip=  vga=791 locales=de_DE.UTF-8 keyboard-layouts=de gl_batch fetch=${boot-url}/gparted/filesystem.squashfs || goto error
initrd  ${boot-url}/gparted/initrd.img || goto error
boot
 
:error
echo Error && shell


PHP
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header ("content-type: text/plain");
 
$protocol = empty($_SERVER['HTTPS']) ? 'http' : 'https';
 
$booturl=$protocol."://".$_SERVER['REMOTE_ADDR'].getBasePath();      // Der Unterordner pxe muss ggf. an eigene Bedürfnisse angepasst werden.
?>
#!ipxe
set boot-url <?php echo $booturl."\n";?>
kernel  ${boot-url}/vmlinuz boot=live config components union=overlay username=user noswap noeject ip=  vga=791 locales=de_DE.UTF-8 keyboard-layouts=de gl_batch fetch=${boot-url}/filesystem.squashfs || goto error
initrd  ${boot-url}/initrd.img || goto error
boot
  
:error
echo Error && shell
 
<?php
 
function getBasePath() {
    $basepath=$_SERVER['PHP_SELF'];
 
/* String in Array umwandeln */
    $basepath = explode("/",$basepath);
 
/* das letzte Element entfernen */
    array_pop($basepath);
 
/* aus dem Array wieder einen String machen */
    $basepath = join("/",$basepath);
    return $basepath;
}