Installer Windows 7 fra nettet

From Teknologisk videncenter
Jump to: navigation, search

Quick Guide

  1. Boot via FOG og vælg Install Linux Mint -> Boot Linux Mint 12 64bit Live
  2. Start installationen fra ikonet på skrivebordet
  3. Vent til windows installationen starter
  4. Slet IKKE Installations partitionen, men installer på det ledige diskplads.

Hvis det ikke virker, så start partitions manageren og slet alle partitioner manuelt

Oprettelse af partitioner

Har bootet en maskine over netværket med en live version af ubuntu 10.10. Brugt Gparted til at oprette en partitions tabel på disken, og lavet en NTFS partition på 4,5GiB i slutningen af disken. Den skal hedde sda1.

Vil man gøre det via commandline kan man skrive[1]

echo "Sikrer sig de første 5 partitioner bliver slettet, ved ikke hvordan man sletter alt:)"
parted /dev/sda rm 1
parted /dev/sda rm 2
parted /dev/sda rm 3
parted /dev/sda rm 4
parted /dev/sda rm 5
parted /dev/sda rm 6
parted /dev/sda rm 7
parted /dev/sda rm 8
parted /dev/sda rm 9
parted /dev/sda rm 10
parted /dev/sda mklabel msdos -s
echo "opretter en partition til installations filer"
parted /dev/sda mkpart primary 20000 24500 # opretter en partition midt i, da man ikke kan bruge -4500 -0 fra kommando linien.
mkfs.ntfs /dev/sda1

Kopiere installations filer

Har installeret nfs-common på live ubuntu. og ændret i nsswitch så den ikke bruge mDNS

sudo bash
apt-get install nfs-common
mkdir /mnt/iso
mkdir /mnt/win7
mkdir /mnt/hdd
mount mercstor.tekkom.local:/data/raid/iso /mnt/iso
mount /mnt/iso/Microsoft/Windows/Windows\ 7\ Professional\ \(x64\)\ -\ DVD\ \(English\)/en_windows_7_professional_x64_dvd_X15-65805.iso /mnt/win7 -o loop
mount /dev/sda1 /mnt/hdd
cp -r /mnt/win7/* /mnt/hdd

At Boote Grub4dos

Har fået det til at virke på 2 måder med at loade grub4dos som loader windows installeren.

Via PXE

Alle filer er kopieret genstarter man kassen og vælger boot grub4dos i FOG menu'en - Den er sat op til at starte grub4dos med hd0,1 som root.

Udsnit fra pxelinux.cfg/default

LABEL install.windows
        root (hd0,1)
        kernel InstallTest/grub.exe
        MENU LABEL Boot grub4dos
        TEXT HELP
        This will boot grub4dos to install Windows 7 from hd0,1
        ENDTEXT

Via MBR

inden man genstarter kassen skal man downloade grub4dos og pakke den ud. I zip filen ligger der et program kalder bootlace.com til at oprette en MBR.[2]

wget grub4dos.zip
unzip grub4dos.zip
cd grub4dos
./bootlace /dev/sda
cp grldr /mnt/hdd

opret en fil i /mnt/hdd der hedder menu.lst, filen skal indeholde følgende.

# This is a sample menu.lst file. You should make some changes to it.
# The old install method of booting via the stage-files has been removed.
# Please install GRLDR boot strap code to MBR with the bootlace.com
# utility under DOS/Win9x or Linux.

color blue/green yellow/red white/magenta white/magenta
timeout 5
default /default

title Install Windows 7
fallback 1
find --set-root --ignore-floppies /bootmgr
chainloader /bootmgr
savedefault --wait=2

Start af Windows installer

Indtast følgende under grup og windows installatinen vil nu starte...

grub>find --set-root /bootmgr
grub>chainloader /bootmgr
grub>boot

Man kan nu fra windows' Disk Manager slette installations partitionen og udvide sin windows partition så den også fylder de sidste 4,5 GiB.

Automatisering

Et lille script der kan klare det hele, er smidt på fog.tekkom.dk/win7/install.sh.

Kaldes med:

sudo bash
wget fog.tekkom.dk/win7/install.sh
chmod +x install.sh
./install.sh
reboot

Scriptet ser sådan her ud:

#! /bin/bash

#Nu afinstallerer vi avahi for at kunne lave opslag på .local domainer
apt-get purge avahi-daemon -y

#Opsætning af disken begynder her
echo "Sikrer sig de første 5 partitioner bliver slettet, ved ikke hvordan man sletter alt:)"
parted /dev/sda rm 1
parted /dev/sda rm 2
parted /dev/sda rm 3
parted /dev/sda rm 4
parted /dev/sda rm 5
parted /dev/sda rm 6
parted /dev/sda rm 7
parted /dev/sda rm 8
parted /dev/sda rm 9
parted /dev/sda rm 10
parted /dev/sda mklabel msdos -s
echo "opretter en partition til installations filer"

parted /dev/sda mkpart primary NTFS 1 4500
#mkfs.ntfs /dev/sda1
mkntfs -Q -v -L "" /dev/sda1

#installer nfs-common for at kunne mounte NFS foldere.
apt-get install nfs-common -y

# Finder instalations filer frem og kopierer dem
echo "Creating Dirs..."
cd /mnt
mkdir win7 hdd iso
mount mercstor.tekkom.local:/data/raid/iso iso
mount /mnt/iso/Microsoft/Windows/Windows\ 7\ Professional\ \(x64\)\ -\ DVD\ \(English\)/en_windows_7_professional_x64_dvd_X15-65805.iso win7 -o loop
mount /dev/sda1 hdd
echo "Done"
echo "Copying installation files..."
cp -r win7/* hdd/
echo "Done"

#opretter grub4dos på MBR
wget fog.tekkom.dk/win7/grub4dos-0.4.4.zip
unzip grub4dos-0.4.4.zip
cd grub4dos-0.4.4
./bootlace.com /dev/sda
cp grldr /mnt/hdd

#opretter boot menu
echo "color blue/green yellow/red white/magenta white/magenta" > /mnt/hdd/menu.lst
echo "timeout 5" >> /mnt/hdd/menu.lst
echo "default /default" >> /mnt/hdd/menu.lst
echo "title Install Windows 7" >> /mnt/hdd/menu.lst
echo "fallback 1" >> /mnt/hdd/menu.lst
echo "find --set-root --ignore-floppies /bootmgr" >> /mnt/hdd/menu.lst
echo "chainloader /bootmgr" >> /mnt/hdd/menu.lst
echo "savedefault --wait=2" >> /mnt/hdd/menu.lst
echo "Installation Done - Please reboot"

reboot

Tilret Linux Mint til en Easy Installer

Med Easy Installer menes at der kommer til at ligge et installations ikon på skrivebordet når man starter den op fra netværket.

Krav

Squashfs-tools skal bruges til at udpakke og pakke systemet.

aptitude install squashfs-tools

Udpak SquashFS

Her pakker jeg Linux Mint 12 Lisa's SquashFS[3] ud for at rette i den. Den er fundet på den udpakkede Mint 12 ISO under mappen Casper

root@server#unsquashfs filesystem.squashfs
Parallel unsquashfs: Using 4 processors
163149 inodes (172068 blocks) to write

[=========================================================-] 172068/172068 100%
created 112301 files
created 16362 directories
created 50765 symlinks
created 82 devices
created 0 fifos
root@server# cd squashfs-root/
root@server# ls
bin   dev  home        lib    media  opt   root  sbin     srv  tmp  var
boot  etc  initrd.img  lib64  mnt    proc  run   selinux  sys  usr  vmlinuz

Tilrette SquashFS

Under opstarten fra "CD'en" opretter Mint en bruger som den automatisk logger på med. For at tilføje et program til denne brugers profil, skal det smides i /etc/skel som bliver brugt til template for brugerens Home dir.

Under /etc/skel har jeg tilføjet en mappe kaldet "Desktop" hvor jeg har smidt installations filerne i.

Oprette SquashFS igen

For at lave det nye tilrettede filsystem om til en SquashFS igen bruges mksquashfs

root@server# mksquashfs squashfs-root/ filesystem.squashfs
Parallel mksquashfs: Using 4 processors
Creating 4.0 filesystem on filesystem.squashfs, block size 131072.
[=========================================================\] 121221/121221 100%
Exportable Squashfs 4.0 filesystem, data block size 131072
        compressed data, compressed metadata, compressed fragments
        duplicates are removed
Filesystem size 1013466.99 Kbytes (989.71 Mbytes)
        36.58% of uncompressed filesystem size (2770493.90 Kbytes)
Inode table size 1823334 bytes (1780.60 Kbytes)
        25.72% of uncompressed inode table size (7089829 bytes)
Directory table size 1810882 bytes (1768.44 Kbytes)
        40.87% of uncompressed directory table size (4430873 bytes)
Number of duplicate files found 13091
Number of inodes 179513
Number of files 112302
Number of fragments 7647
Number of symbolic links  50765
Number of device nodes 82
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 16364
Number of ids (unique uids + gids) 31
Number of uids 12
        root (0)
        statd (104)
        man (6)
        daemon (1)
        lp (7)
        unknown (1000)
        unknown (112)
        unknown (111)
        sshd (102)
        unknown (999)
        libuuid (100)
        landscape (105)
Number of gids 30
        root (0)
        video (44)
        audio (29)
        tty (5)
        fuse (104)
        kmem (15)
        disk (6)
        daemon (1)
        dip (30)
        lp (7)
        unknown (1000)
        shadow (42)
        unknown (117)
        unknown (116)
        unknown (112)
        unknown (111)
        utmp (43)
        crontab (102)
        mail (8)
        unknown (110)
        dhcpd (107)
        unknown (999)
        unknown (121)
        staff (50)
        libuuid (101)
        unknown (118)
        mlocate (105)
        landscape (108)
        unknown (125)
        adm (4)
root@server#

Hotfixes og Unattended

Nu skal Windows installationen bare rettes til så den indeholder Hotfixes og en Unattended installation.
Dertil kan vLite bruges, og så skal den tilrettede ISO bare smides istedet for dem der bliver brugt nu.

Boot Windows 7 from Network - PXE

References