个人工具

UbuntuHelp:Installation/FromLinux

来自Ubuntu中文

跳转至: 导航, 搜索

Live CD

The Live CD is also known as the "Desktop Installer". It is the default Ubuntu installation CD. The ISO you downloaded has the name "desktop" in its name, these are the instructions to use. If your ISO has "alternate" in its name, you are using an alternate installation CD and should see the next section. UNetbootin is a utility that can do much of the following automatically. If you already have a working linux system, installing without external media is easy. You need to create a new partition, copy the CD contents over to it, boot from the new partition, and proceed as if you were installing from a CD. Note that you can't use what will be the root partition for the CD contents, as the installer is stubborn on formatting it (it will fail). The benefits of installing without external media are that it can save you time if you are already familiar with the process, and you get a very usable system upon booting into the installer because it is running from a hard drive rather than a CD. Step 1. Use gparted to create a new primary partition and format it to ext3. You need slightly more than 700MB of free space on it. 750MB should be sufficient. Let's say the name of the partition is /dev/sda1. If your new ubuntu install is going to coexist with your old system, you might find it convenient to create space for your new system as well at this point using gparted. Step 2. Copy CD contents over to the new partition using the command

 mkdir /tmp/install_cd
 mkdir /tmp/installer

 sudo mount disk-image.iso -o loop /tmp/install_cd
 sudo mount /dev/sda1 /tmp/installer

 sudo rsync -a /tmp/install_cd/ /tmp/installer

 sudo umount /tmp/install_cd
 sudo umount /tmp/installer

Replace the name of the iso to whatever you downloaded and /dev/sda1 with whatever your new partition is. Step 3. Edit your grub configuration file (typically /etc/grub.conf or /boot/grub/menu.lst) to boot from the new partition by adding the lines

title           installer
root            (hd0,0)
kernel          /casper/vmlinuz boot=casper root=/dev/ram ramdisk_size=1048576 rw
initrd          /casper/initrd.gz

The first line after the title tells grub which partition contains the installer. hd0 stands for "first hard disk," and the 0 following it standards for first partition. You will need to change this if your installer partition is different from /dev/sda1. sdaN becomes (hd0, N-1), sdbN becomes (hd1,N-1) and so on. As you can see, grub starts counting from 0, which can be confusing. If you are trying to use Hard Disk installation with Ubuntu 9.10 chances are initrd.gz is renamed as initrd.lz now. So rename accordingly in menu.lst. With Grub2, the bootloader in new installations of 9.10, the procedure is a little different. You should edit the file /etc/grub.d/40_custom and add the lines

menuentry "installer" {
	insmod ext2
	set root=(hd0,1)
	linux /casper/vmlinuz boot=casper root=/dev/ram1 ramdisk_size=1048576 rw
	initrd /casper/initrd.lz
}

Having done that run update-grub to rebuild the grub configuration. Note that Grub 2 counts drives from 0, but partitions from 1, so /dev/sda1 becomes (hd0,1). Step 4. Reboot, and choose "installer" from the grub boot menu, and continue as if you were installing from CD. Note: if you unpacked the livecd on the same disk where you want to install Ubuntu, chances are you'll run into LP#288675, and be unable to select a partition. The workaround by Nick Spencer ("sudo umount -l -r -f /dev/sda3 or sudo umount -l -r -f /cdrom (where sda3 was the device mounted as cdrom)") is a rather terrible hack, but usable as a workaround. Note2: Instead of using 'workaround', an alternative is to modify the file /etc/mtab by erasing the line that specifies the partition where the cdrom is mounted. This way the kernel thinks thats the /cdrom is not mounted and will not show the advice when installing ubuntu. I think this procedure is less dangerous than the one in the previus note.

Alternate CD

As of December 29th 2007, the instructions above do not apply to the alternate CD provided for Ubuntu 7.10 (Gutsy Gibbon). Significant changes are required. Procedure 1 below has been used successfully with Gutsy (Ubuntu 7.10) and Procedure 2 with Hardy (Ubuntu 8.04). Before going any further please note that the alternate CD contains documentation which can help with fixing problems or adapting solutions to your own situation. The documentation is located in doc/install/manual/ on the alternate CD. Please refer to that documentation as needed. Note that Procedure 2 is potentially less disruptive because it does not call for a new partition. For a simpler installation method which generally does not require repartitioning, and downloads the packages at install time rather than requiring an ISO, see Installation/NetbootInstallFromInternet.

Procedure 1

I used the following procedure for Gutsy. It can also be used for Hardy. Step 1. Use gparted to create a new primary partition and format it to ext3. You need slightly more than 700MB of free space on it. 750MB should be sufficient. Let's say the name of the partition is /dev/sda1. If your new ubuntu install is going to coexist with your old system, you might find it convenient to create space for your new system as well at this point using gparted. Step 2. Copy your alternate ISO to the root of the partition you created in step 1. You need to copy the ISO itself rather than the contents of the ISO. Step 3. Grab the initrd.gz and vmlinuz files found in the following subdirectory of a Ubuntu mirror:

dists/gutsy/main/installer-i386/current/images/hd-media/

For example in the UK the files may be found at http://gb.archive.ubuntu.com/ubuntu/dists/gutsy/main/installer-i386/current/images/hd-media/ Put these files in your newly created partition. They can be in the root of the partition or in a subdirectory. Step 4. Edit your grub configuration file (typically /etc/grub.conf or /boot/grub/menu.lst) to boot from the new partition by adding the lines:

title           installer
root            (hd0,0)
kernel          /install/vmlinuz root=/dev/ram ramdisk_size=1048576 rw
initrd          /install/initrd.gz

<<Anchor(altproc1step4)>>If you use LILO, see the official documentation on the alternate CD for how to configure LILO. Or you can adapt the lines above for LILO if you know Grub and LILO well. The first line after the title tells grub which partition contains the installer. hd0 stands for "first hard disk," and the 0 following it standards for first partition. You will need to change this if your installer partition is different from /dev/sda1. sdaN becomes (hd0, N-1), sdbN becomes (hd1,N-1) and so on. As you can see, grub starts counting from 0, which can be confusing. The paths for the kernel and the initrd were set to start with /install/ in my setup but you could put those files in the root of the install partition and have them be /vmlinuz and /initrd.gz if you so wish. As specified in the above, the installer will run without a preseed file. The preseed tells the installer what kind of system you are trying to install and it automatically selects some options for you during installation. For instance, using the ubuntu.seed file tells the installer that you want to install a full "desktop" system, with Gnome and everything. If you do not select a preseed file, it is unclear what the installer thinks. In my (LouisDominiqueDubeau) experience, it installs some sort of cli or server form of Ubuntu. This is not disastrous but it may not be what you want. In Hardy in particular, running the installer without a seed results in LILO installed as the boot loader rather than Grub. Ugly... So it is better to select a seed. Adding the parameter file=/cdrom/preseed/ubuntu.seed to the kernel line above should take care of the problem. If installing Kubuntu, select kubuntu.seed instead. Adapt to other situations as needed. Step 5. Reboot, and choose "installer" from the grub boot menu, and continue as normal.

Procedure 2

In this procedure you do not create a new partition to hold the installer. This procedure was used for Hardy. It may be adaptable for Gutsy. Step 1. Copy your alternate ISO to the root of any partition that the installer can mount. You need to copy the ISO itself rather than the contents of the ISO. The important part here is that you must find a partition that the installer can mount, as it will search during the install procedure. If you use the traditional partitioning system used by DOS since ages immemorial, then any filesystem supported by Ubuntu should work. In particular ext2/ext3/ntfs/fat/vfat should all work. If you use LVM, things are trickier. As of April 26th 2008, the installer is unable to find an ISO stored on a partition managed in LVM. The installer can install Ubuntu in an LVM partition but in the stage at which it looks for the ISO it has not yet loaded the LVM modules so it cannot find the ISO if it is on an LVM partition. An enterprising person should be able to work around that problem but by default the installer won't find the ISO if it is on an LVM partition. If you have Windows installed, then the Windows partition, which normally is not managed by LVM (because I don't think Windows supports LVM), can hold the ISO. Step 2. Grab the initrd.gz and vmlinuz files found in the following subdirectory of a Ubuntu mirror:

dists/hardy/main/installer-i386/current/images/hd-media/

For example in the UK the files may be found at http://gb.archive.ubuntu.com/ubuntu/dists/hardy/main/installer-i386/current/images/hd-media/ You will want to put these files in your normal /boot/ directory. It may be a good idea to create a subdirectory like newinstall, hardy-install, or something similar. Step 3. Read the information at [[UbuntuHelp:[altproc1step4|step 4 of procedure 1]]] above and then come back here: the information there will tell you what hd0,0 means and will inform you about seeds, etc. Edit your grub configuration file (typically /etc/grub.conf or /boot/grub/menu.lst) to boot from the new partition by adding the lines:

title installer
root (hd0,0)
kernel /boot/newinstall/vmlinuz
initrd /boot/newinstall/initrd.gz

If you want a preseed file, change the kernel line to:

kernel (hd0,0)/newinstall/vmlinuz file=/cdrom/preseed/ubuntu.seed

Note that some users report working installs with grub without seeds and/or seeds not working with this method. Adapt as needed to your situation. Step 4. Reboot, and choose "installer" from the grub boot menu, and continue the installation as normal.

Alternate CD Alternate Method

I have a machine without a CD-ROM drive but with a network connection, and I struggled with these instructions for many days. Finally, I stumbled upon some straightforward solutions which appear to work for me. 1. Obtain Alternate CD. (This method may work for other CDs, I have not tried) 2. Mount at a temporary location, as described previously. 3. Copy vmlinuz and initrd.gz from mounted installation media to normal location on current linux root (the one to be replaced) 4. Unmount CDROM image. 5. Copy image as is to selected partition (i.e. cat "image" > /dev/hdXX 6. Configure grub or LILO as above 7. Reboot. 8. When choosing CDROM drive, choose manually, do not install a driver, for the device enter the partition to which you copied the image. 9. Continue installation as normal.

So far so good! I'll let you know if it breaks later :P

Without CD

You can install Ubuntu directly from Ubuntu using debootstrap. Debootstrap installs some essential packages in a directory for use with chroot. Note that the essential packages does not in itself make the system bootable. It just installs what you need to chroot to that directory and use apt-get to install other packages witch makes ubuntu usable. First check that you have debootstrap installed:

{
sudo apt-get install debootstrap
}

(Note: if you want to install a newer release than your current system, you normally need to install the backported debootstrap version, see: UbuntuBackports) 1. Partition your filesystem (as explaned above) 2. Mount that new partition

{
sudo mkdir /mnt/installer
sudo mount /dev/sda1 /mnt/installer
}

3. Create the new install

{
sudo debootstrap hardy /mnt/installer
}

4. Copy files to the new install

{
sudo cp /etc/resolv.conf /mnt/installer/etc/resolv.conf
sudo cp /etc/apt/sources.list /mnt/installer/etc/apt/ # If you want to keep your repositories
}

5. Chroot to your new install

{
sudo mount --bind /dev /mnt/installer/dev
sudo chroot /mnt/installer
}

6. Upgrade the new install

{
apt-get update
apt-get upgrade
}

7. Install Grub and Linux

{
apt-get install grub linux-image
grub-install /dev/sda
}

It is now safe to reboot 8. Install ubuntu-desktop

{
apt-get install ubuntu-desktop ubuntu-standard
}

9. Reboot and keep those fingers crossed.