Debian U盘 安装 Error: "Incorrect CD-ROM detected"

有点厌倦了yum软件安装的繁琐,想安装Debian,新鲜一下。

没有光盘,只能用U盘做系统盘,不满于总是按照别人的步骤安装,稍微有些问题就解决不了,决定稍微学习一下grub的使用。

废话少说,上步骤:

1、在U盘安装grub2

条件:

  电脑设为从USB设备启动。

  要有一个Linux系统来安装Grub.

实施步骤:

将U盘分为2个区,第一个区为vfat格式,第二个区为ext2格式,grub安装到第二个区,将第二个区作为可引导区

1、分区

  1. [root@localhost ~]# fdisk /dev/sdb
  2. Command (m for help): d
  3. Selected partition 1
  4. Command (m for help): n
  5. Command action
  6. e extended
  7. p primary partition (1-4)
  8. p
  9. Partition number (1-4): 1
  10. First cylinder (1-487, default 1):
  11. Using default value 1
  12. Last cylinder or +size or +sizeM or +sizeK (1-487, default 487): +3072M
  13. Command (m for help): n
  14. Command action
  15. e extended
  16. p primary partition (1-4)
  17. p
  18. Partition number (1-4): 2
  19. First cylinder (375-487, default 375):
  20. Using default value 375
  21. Last cylinder or +size or +sizeM or +sizeK (375-487, default 487):
  22. Using default value 487
  23. Command (m for help): w
  24. The partition table has been altered!
  25. Calling ioctl() to re-read partition table.
  26. WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
  27. The kernel still uses the old table.
  28. The new table will be used at the next reboot.
  29. Syncing disks.

2、格式化分区

卸载U盘:在桌面右键点击“删除文件卷”

插上U盘

[html]view plaincopy

  1. [root@localhost ~]# ls /dev/sd*
  2. /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5 /dev/sda6 /dev/sda7 /dev/sda8 /dev/sdb /dev/sdb1 /dev/sdb2
  3. [root@localhost ~]# umount /dev/sdb1
  4. [root@localhost ~]# umount /dev/sdb2
  5. [root@localhost ~]# mkfs.vfat /dev/sdb1
  6. mkfs.vfat 2.11 (12 Mar 2005)
  7. [root@localhost ~]# mkfs.ext2 /dev/sdb2
  8. mke2fs 1.39 (29-May-2006)
  9. Filesystem label=
  10. OS type: Linux
  11. Block size=4096 (log=2)
  12. Fragment size=4096 (log=2)
  13. 113568 inodes, 226918 blocks
  14. 11345 blocks (5.00%) reserved for the super user
  15. First data block=0
  16. Maximum filesystem blocks=234881024
  17. 7 block groups
  18. 32768 blocks per group, 32768 fragments per group
  19. 16224 inodes per group
  20. Superblock backups stored on blocks:
  21. 32768, 98304, 163840
  22. Writing inode tables: done
  23. Writing superblocks and filesystem accounting information: done
  24. This filesystem will be automatically checked every 24 mounts or
  25. 180 days, whichever comes first. Use tune2fs -c or -i to override.

3、激活/dev/sdb2

[html]view plaincopy

  1. [root@localhost ~]# fdisk /dev/sdb
  2. Command (m for help): a
  3. Partition number (1-4): 2
  4. Command (m for help): w
  5. The partition table has been altered!
  6. Calling ioctl() to re-read partition table.
  7. Syncing disks.
  8. [root@localhost ~]# fdisk -l
  9. ...
  10. Disk /dev/sdb: 4008 MB, 4008706048 bytes
  11. 255 heads, 63 sectors/track, 487 cylinders
  12. Units = cylinders of 16065 * 512 = 8225280 bytes
  13. Device Boot Start End Blocks Id System
  14. /dev/sdb1 1 374 3004123+ 83 Linux
  15. /dev/sdb2 * 375 487 907672+ 83 Linux # 可引导分区

4、安装grub到U盘

查看U盘各分区的挂载情况

[html]view plaincopy

  1. [root@localhost ~]# df
  2. ...
  3. /dev/sdb2 893388 904 847104 1% /media/disk
  4. /dev/sdb1 2998248 4 2998244 1% /media/disk-1
  5. [root@localhost ~]# grub-install --root-directory=/media/disk --no-floppy /dev/sdb2
  6. Probing devices to guess BIOS drives. This may take a long time.
  7. Installation finished. No error reported.
  8. This is the contents of the device map /media/disk/boot/grub/device.map.
  9. Check if this is correct or not. If any of the lines is incorrect,
  10. fix it and re-run the script `grub-install'.
  11. (hd0) /dev/sda
  12. (hd1) /dev/sdb

5、安装到U盘的MBR

[html]view plaincopy

    1. [root@localhost ~]# grub
    2. GNU GRUB version 0.97 (640K lower / 3072K upper memory)
    3. [ Minimal BASH-like line editing is supported. For the first word, TAB
    4. lists possible command completions. Anywhere else TAB lists the possible
    5. completions of a device/filename.]
    6. grub> root (hd1,
    7. Possible partitions are:
    8. Partition num: 0, Filesystem type unknown, partition type 0x83
    9. Partition num: 1, Filesystem type is ext2fs, partition type 0x83
    10. grub> root (hd1,1)
    11. Filesystem type is ext2fs, partition type 0x83
    12. grub> setup (hd1)
    13. Checking if "/boot/grub/stage1" exists... yes
    14. Checking if "/boot/grub/stage2" exists... yes
    15. Checking if "/boot/grub/e2fs_stage1_5" exists... yes
    16. Running "embed /boot/grub/e2fs_stage1_5 (hd1)"... 15 sectors are embedded.
    17. succeeded
    18. Running "install /boot/grub/stage1 (hd1) (hd1)1+15 p (hd1,1)/boot/grub/stage2 /boot/grub/grub.conf"... succeeded
    19. Done.
    20. grub> quit

参考网址:http://blog.csdn.net/duyiwuer2009/article/details/7799687

接下来重启,并用grub引导:

  重启计算机,将会看到多了一个grub启动选项。选择它,进入grub提示符。输入如下命令:grub>kernel (hd0,0)/vmlinuz root=/dev/ram ramdisk_size=20000 devfs=mount,dall|grub>initrd (hd0,0)/initrd.gz|grub>boot|

注:在grup>提示符下,输入“|”约定表示回车注: (hd0,0)表示第一块硬盘的第一分区, (hd0,1)表示第一块硬盘的第二分区 (hd1,0)表示第二块硬盘的第一分区。依此类推,依自己实际iso所在位置不同而改变

接着马上就会进入安装界面了。

接下来处理"Incorrect CD-ROM detected"错误:

ubuntu官网这样解决的:

If you get "Incorrect CD-ROM detected" error on detection stage, reboot, press F6 and then ESC to go to manual boot line editing, and add the option 'cdrom-detect/try-usb=true'. On Ubuntu 9.10 server edition the install menu will be shown right after reboot. Chose "Help" and then press F6.

但是,我试了没用。。。囧

下面的我用了可以,推荐大家试一下:

In my case the commands below used

“/dev/sdb1” as “/dev/<usb drive partition device file>” and

“/mnt/iso/ubutnu-10.04-server-i386.iso” as “/mnt/usb/<iso file>”

but yours my vary.

When you get the screen with “Load CD-ROM driver from removable media?” press ALT-F2 to get a console and enter these commands:

mkdir /mnt/usb /mnt/iso

mount –t vfat /dev/<usb drive partition device file> /mnt/usb

mount –t iso9660 –o loop /mnt/usb/<iso file> /mnt/iso

ALT-F1 to return to installation dialog and answer as follows:

Load CD-ROM driver from removable media? <No>

Manually select CD-ROM module and device> <Yes>

Module needed for accessing the CD-ROM: none

Device file for accessing the CD-ROM: /dev/loop0

翻译一下:就是我用/dev/sdb1代表我u盘的分区

用/mnt/iso/ubun...代表我iso文件所在位置。

当通过grub进入安装菜单后,按组合键:alt+f2 进入命令窗口,输入以下:

mkdir /mnt/usb /mnt/iso

mount –t vfat /dev/<usb drive partition device file> /mnt/usb

mount –t iso9660 –o loop /mnt/usb/<iso file> /mnt/iso

可以根据自己情况修改。然后再alt+f1回去,选择如下:

Load CD-ROM driver from removable media? <No>

Manually select CD-ROM module and device> <Yes>

Module needed for accessing the CD-ROM: none

Device file for accessing the CD-ROM: /dev/loop0

over!!!!!!!!!!!!!!!!!!!!!!