Hallo zusammen,

ich möchte eine BootCD erstellen, mit der ich per partimage eine Sicherung einer NTFS-Partition wiederherstellen kann.

Die Windows 2000-Installation ist mit sysprep vorbereitet. Daher ist es kein Problem diese gesicherte Partition auf baugleichen Rechnern wiederherzustellen.

Allerdings gibt es bei den baugleichen Rechnern das Problem, dass die Festplatten mal 10, mal 15 und mal 20 GB groß sind.

Da unter Windows Laufwerk C: die gesamte Festplatte einnehmen soll, müsste ich ja die Partition immer nach dem wiederherstellen der Sicherung vergrößern.

Ich hatte mir das so gedacht:
Ich lade mit ISOLINUX den Knoppix-Kernel und die Knoppix-Ramdisk.
In der Datei linuxrc in der RAMDISK habe ich alle unnötigen befehle entfernt. (Hoffentlich nicht zu viele)
Dann soll mit parted die komplette Partitionstabelle gelöscht werden,
dann eine neu Partition erstellt werden, die so groß ist wie was Image (bzw. die gesicherte Partition),
dann mit dd der MBR wiederhergestellt werden,
dann die Partition wieder gelöscht werden,
einen neue mit der Gesamtgröße der Festplatte erstellt werden,
dann mit nfsresize das NTFS-Dateisystem an die Partitionsgröße angepasst werden und ein neustart durchgeführt werden.

Um das alles machen zu können, brauche ich ja in der ramdisk die Programme:
- partimage
- parted
- reboot (bzw. shutdown)
- dd
- awk (um in Verbindung mit parted die Festplattengröße zu ermitteln)
- grep (um in Verbindung mit parted die Festplattengröße zu ermitteln)
- ntfsresize

Partimage habe ich in die Ramdisk in das Verzeichnis /static eingefügt. Das funktioniert auch soweit. Allerdings parted und Co funktioniert nicht. Er sagt immer, dass die Datei nicht gefunden wurde.

Habe echt keine Ahnung, warum partimage geht und der Rest nicht. Die Dateiberechtigungen sind auch bei allen gleich (rwxr-xr-x)

Hier noch der Inhalt meiner linuxrc:
Code:
#!/static/sh
#
# KNOPPIX General Startup Script
# (C) Klaus Knopper <knoppix@knopper.net>
#
#
# This script needs some of the builtin ash commands (if, test, ...)
# mount/umount, insmod/rmmod are also a builtin in ash-knoppix.
#

# hardcoded configurable options
# Default maximum size of dynamic ramdisk in kilobytes
RAMSIZE=1000000
# End of options

# Don't allow interrupt signals
trap "" 1 2 3 15


# Reset fb color mode
RESET="]R"
# ANSI COLORS
# Erase to end of line
CRE="
"
# Clear and reset Screen
CLEAR="c"
# Normal color
NORMAL=""
# RED: Failure or error message
RED=""
# GREEN: Success message
GREEN=""
# YELLOW: Descriptions
YELLOW=""
# BLUE: System mesages
BLUE=""
# MAGENTA: Found devices or drivers
MAGENTA=""
# CYAN: Questions
CYAN=""
# BOLD WHITE: Hint
WHITE=""

# Clear screen with colormode reset
# echo "$CLEAR$RESET"
# echo "$CLEAR"
# Just go to the top of the screen
# echo -n ""
echo ""
# Be verbose
echo "${WHITE}Welcome to the ${CYAN}K${MAGENTA}N${YELLOW}O${WHITE}P${RED}P${GREEN}I${BLUE}X${WHITE} live Linux-on-CD!${NORMAL}"
echo ""
echo ""


PATH="/static"
export PATH

umask 022

mount -t proc /proc /proc

mount -t devpts /dev/pts /dev/pts
mount -t sysfs /sys /sys

/modules/insmod /modules/scsi/ide-cd.o

mount -t iso9660 -o ro /dev/hda /cdrom

echo "Alle Partitionen der ersten Festplatte werden gelöscht..."
parted -s /dev/hdb rm 4
parted -s /dev/hdb rm 3
parted -s /dev/hdb rm 2
parted -s /dev/hdb rm 1

echo "Eine neue Partition für das Image wird erstellt..."
parted -s /dev/hdb mkpart primary 1 1000
parted -s /dev/hdb set 1 boot on

echo "Stelle Master-Boot-Record wieder her..."
dd if=/cdrom/6269.mbr of=/dev/hdb count=1 bs=512

echo "Sicherung wird wiederhergestellt..."
partimage -b -f3 restore /dev/hdb1 /cdrom/6269.img

echo "C: wird auf die Gesamtgröße der Festplatte vergrößert..."
size=$(parted -s /dev/hdb print | grep Disk\ geometry\ for | awk '{ print $5 }' | awk -F- '{ print $2 }')
parted -s /dev/hdb rm 1
parted -s /dev/hdb mkpart primary 1 $size
parted -s /dev/hdb set 1 boot on
ntfsresize -f /dev/hdb1

PS1="knoppix# "
export PS1
echo "6" > /proc/sys/kernel/printk
trap 1 2 3 15
exec /static/ash
Hat da jemand eine Idee?
Wäre euch sehr dankbar, wenn ihr mir helfen könntet. Wenn das Projekt fertig ist, wäre ich bereit dies auch allgemein zur Verfügung zu stellen.

Gruß
Stefan