PC에 USB3 드라이브를 연결하면 "Welcome to grub" 메시지와 함께 컴퓨터가 정지됩니다.

PC에 USB3 드라이브를 연결하면 "Welcome to grub" 메시지와 함께 컴퓨터가 정지됩니다.


ext4 형식의 Seagate 2TB USB2 하드 드라이브가 있습니다. 시스템에 연결하고 부팅하면 PC가 "Welcome to grub"에서 멈춥니다. USB 드라이브를 연결하지 않고 재부팅하면 시스템이 정상적으로 부팅됩니다. 그런 다음 드라이브를 연결하고 사용할 수 있습니다.

Debian GNU/Linux jessie/sid최신 업데이트를 사용하고 있습니다 .
Ubuntu livecds/usbs가 정상적으로 시작됩니다.

lsusb(외장 드라이브):

Bus 001 Device 006: ID 0bc2:3332 Seagate RSS LLC Expansion

grub-pc 버전: 2.00-14

마더보드에는 USB2 포트(Intel H55TC)만 있고 BIOS가 최신 상태입니다(이전 펌웨어와 새 펌웨어 모두 동일한 문제가 있습니다).

원인은 무엇일까요?
(아이디어가 부족하므로 테스트 가능한 추측을 환영합니다).

참고: USB 드라이브가 원인이라는 것을 알아내기 전까지 약 10번 정도 부팅했고 결국에는 정상적으로 부팅되기 시작했습니다.

이것은 내 grub.cfg입니다.

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"

if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
fi
}

function load_video {
if [ x$feature_all_video_module = xy ]; then
    insmod all_video
else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
fi
}

terminal_input console
terminal_output console
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-2f0165f3-2087-4157-b1e6-f707a995827b' {
        load_video
        insmod gzio
        insmod part_msdos
        insmod part_msdos
        insmod diskfilter
        insmod mdraid09
        insmod ext2
        set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
        if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
        else
        search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
        fi
        echo    'Loading Linux 3.9-1-686-pae ...'
        linux   /boot/vmlinuz-3.9-1-686-pae root=UUID=2f0165f3-2087-4157-b1e6-f707a995827b ro  hdd=noprobe
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-3.9-1-686-pae
}
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-2f0165f3-2087-4157-b1e6-f707a995827b' {
        menuentry 'Debian GNU/Linux, with Linux 3.9-1-686-pae' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.9-1-686-pae-advanced-2f0165f3-2087-4157-b1e6-f707a995827b' {
                load_video
                insmod gzio
                insmod part_msdos
                insmod part_msdos
                insmod diskfilter
                insmod mdraid09
                insmod ext2
                set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
                if [ x$feature_platform_search_hint = xy ]; then
                search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
                else
                search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
                fi
                echo    'Loading Linux 3.9-1-686-pae ...'
                linux   /boot/vmlinuz-3.9-1-686-pae root=UUID=2f0165f3-2087-4157-b1e6-f707a995827b ro  hdd=noprobe
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initrd.img-3.9-1-686-pae
        }
        menuentry 'Debian GNU/Linux, with Linux 3.9-1-686-pae (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.9-1-686-pae-recovery-2f0165f3-2087-4157-b1e6-f707a995827b' {
                load_video
                insmod gzio
                insmod part_msdos
                insmod part_msdos
                insmod diskfilter
                insmod mdraid09
                insmod ext2
                set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
                if [ x$feature_platform_search_hint = xy ]; then
                search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
                else
                search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
                fi
                echo    'Loading Linux 3.9-1-686-pae ...'
                linux   /boot/vmlinuz-3.9-1-686-pae root=UUID=2f0165f3-2087-4157-b1e6-f707a995827b ro single 
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initrd.img-3.9-1-686-pae
        }
        menuentry 'Debian GNU/Linux, with Linux 3.2.0-4-686-pae' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.2.0-4-686-pae-advanced-2f0165f3-2087-4157-b1e6-f707a995827b' {
                load_video
                insmod gzio
                insmod part_msdos
                insmod part_msdos
                insmod diskfilter
                insmod mdraid09
                insmod ext2
                set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
                if [ x$feature_platform_search_hint = xy ]; then
                search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
                else
                search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
                fi
                echo    'Loading Linux 3.2.0-4-686-pae ...'
                linux   /boot/vmlinuz-3.2.0-4-686-pae root=UUID=2f0165f3-2087-4157-b1e6-f707a995827b ro  hdd=noprobe
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initrd.img-3.2.0-4-686-pae
        }
        menuentry 'Debian GNU/Linux, with Linux 3.2.0-4-686-pae (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.2.0-4-686-pae-recovery-2f0165f3-2087-4157-b1e6-f707a995827b' {
                load_video
                insmod gzio
                insmod part_msdos
                insmod part_msdos
                insmod diskfilter
                insmod mdraid09
                insmod ext2
                set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
                if [ x$feature_platform_search_hint = xy ]; then
                search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
                else
                search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
                fi
                echo    'Loading Linux 3.2.0-4-686-pae ...'
                linux   /boot/vmlinuz-3.2.0-4-686-pae root=UUID=2f0165f3-2087-4157-b1e6-f707a995827b ro single 
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initrd.img-3.2.0-4-686-pae
        }
        menuentry 'Debian GNU/Linux, with Linux 3.2.0-3-686-pae' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.2.0-3-686-pae-advanced-2f0165f3-2087-4157-b1e6-f707a995827b' {
                load_video
                insmod gzio
                insmod part_msdos
                insmod part_msdos
                insmod diskfilter
                insmod mdraid09
                insmod ext2
                set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
                if [ x$feature_platform_search_hint = xy ]; then
                search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
                else
                search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
                fi
                echo    'Loading Linux 3.2.0-3-686-pae ...'
                linux   /boot/vmlinuz-3.2.0-3-686-pae root=UUID=2f0165f3-2087-4157-b1e6-f707a995827b ro  hdd=noprobe
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initrd.img-3.2.0-3-686-pae
        }
        menuentry 'Debian GNU/Linux, with Linux 3.2.0-3-686-pae (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.2.0-3-686-pae-recovery-2f0165f3-2087-4157-b1e6-f707a995827b' {
                load_video
                insmod gzio
                insmod part_msdos
                insmod part_msdos
                insmod diskfilter
                insmod mdraid09
                insmod ext2
                set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
                if [ x$feature_platform_search_hint = xy ]; then
                search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
                else
                search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
                fi
                echo    'Loading Linux 3.2.0-3-686-pae ...'
                linux   /boot/vmlinuz-3.2.0-3-686-pae root=UUID=2f0165f3-2087-4157-b1e6-f707a995827b ro single 
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initrd.img-3.2.0-3-686-pae
        }
        menuentry 'Debian GNU/Linux, with Linux 3.2.0-2-686-pae' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.2.0-2-686-pae-advanced-2f0165f3-2087-4157-b1e6-f707a995827b' {
                load_video
                insmod gzio
                insmod part_msdos
                insmod part_msdos
                insmod diskfilter
                insmod mdraid09
                insmod ext2
                set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
                if [ x$feature_platform_search_hint = xy ]; then
                search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
                else
                search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
                fi
                echo    'Loading Linux 3.2.0-2-686-pae ...'
                linux   /boot/vmlinuz-3.2.0-2-686-pae root=UUID=2f0165f3-2087-4157-b1e6-f707a995827b ro  hdd=noprobe
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initrd.img-3.2.0-2-686-pae
        }
        menuentry 'Debian GNU/Linux, with Linux 3.2.0-2-686-pae (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.2.0-2-686-pae-recovery-2f0165f3-2087-4157-b1e6-f707a995827b' {
                load_video
                insmod gzio
                insmod part_msdos
                insmod part_msdos
                insmod diskfilter
                insmod mdraid09
                insmod ext2
                set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
                if [ x$feature_platform_search_hint = xy ]; then
                search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
                else
                search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
                fi
                echo    'Loading Linux 3.2.0-2-686-pae ...'
                linux   /boot/vmlinuz-3.2.0-2-686-pae root=UUID=2f0165f3-2087-4157-b1e6-f707a995827b ro single 
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initrd.img-3.2.0-2-686-pae
        }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_ipxe ###
menuentry "Network boot (iPXE)" --users "" --class network {
        insmod part_msdos
        insmod part_msdos
        insmod diskfilter
        insmod mdraid09
        insmod ext2
        set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
        if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
        else
        search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
        fi
        linux16 /boot/ipxe.lkrn
}
### END /etc/grub.d/20_ipxe ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86 ###
### END /etc/grub.d/20_memtest86 ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
        insmod part_msdos
        insmod part_msdos
        insmod diskfilter
        insmod mdraid09
        insmod ext2
        set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
        if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
        else
        search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
        fi
        linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
        insmod part_msdos
        insmod part_msdos
        insmod diskfilter
        insmod mdraid09
        insmod ext2
        set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
        if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
        else
        search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
        fi
        linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
menuentry "Memory test (memtest86+, experimental multiboot)" {
        insmod part_msdos
        insmod part_msdos
        insmod diskfilter
        insmod mdraid09
        insmod ext2
        set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
        if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
        else
        search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
        fi
        multiboot       /boot/memtest86+_multiboot.bin
}
menuentry "Memory test (memtest86+, serial console 115200, experimental multiboot)" {
        insmod part_msdos
        insmod part_msdos
        insmod diskfilter
        insmod mdraid09
        insmod ext2
        set root='mduuid/019e28032b26f1e0e368bf24bd0fce41'
        if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint='mduuid/019e28032b26f1e0e368bf24bd0fce41'  2f0165f3-2087-4157-b1e6-f707a995827b
        else
        search --no-floppy --fs-uuid --set=root 2f0165f3-2087-4157-b1e6-f707a995827b
        fi
        multiboot       /boot/memtest86+_multiboot.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

답변1

부팅 순서

시스템 부팅 순서가 시스템이 USB 드라이브에서 부팅하거나 USB 드라이브에 액세스하도록 설정되어 있는 것 같습니다. 시스템의 BIOS를 다시 확인하여 다음 사항이 올바른지 확인하겠습니다.

  1. 드라이브의 부팅 순서는 USB 드라이브가 목록 맨 아래에 오도록 되어 있습니다.

다른 컴퓨터를 사용해 보시겠습니까?

가능하다면 드라이브가 설치된 상태로 다른 컴퓨터를 부팅하는 동안 삽입된 드라이브를 테스트하여 특정 컴퓨터와 USB 조합의 BIOS/하드웨어 문제가 아닌지 확인하겠습니다.

syslinux + BIOS + ext4 문제

나는 다음과 같은 제목으로 이것을 발견했습니다.[해결됨] USB 플래시 드라이브에서 부팅 문제ArchLinux 포럼에서. 이 스레드의 의견 #8에서는 특정 BIOS가 ext4 파티션 드라이브를 부팅할 수 없는 문제를 언급합니다.

발췌

syslinux wiki 항목에 따르면:

ext4 형식의 USB 드라이브는 최신 컴퓨터에서 부팅되지만 커널 및 initrd가 포함된 부팅 파티션이 fat16 파티션에 없으면 일부 컴퓨터가 중단될 수 있습니다.

답변2

MBR 파티션 테이블을 확인하여 물리적 드라이브 매핑에 문제가 있는지 확인하는 것이 좋습니다. MBR 콘텐츠를 붙여넣기만 하면 분석해 주는 웹사이트와 도구가 거의 없습니다. 또한 USB가 부팅 가능하지 않은지 확인하십시오(실행하고 fdisk /dev/sdX키를 눌러 p부팅 가능한 플래그가 있는 파티션이 없는지 확인하십시오).

Mbr의 내용을 얻으려면 다음 명령을 실행하십시오. 그런 다음 괴짜가 읽을 수 있는 형식으로 Mbr 코드를 보려면 sudo dd if=/dev/sda of=mbr.bin bs=512 count=1 conv=notrunc 발행하십시오 . :Dhexdump [-C] mbr.bin

이제 조사를 할 시간입니다…

귀하의 설명으로 볼 때 이 문제가 존재할 가능성이 있다고 생각됩니다.

관련 정보