커맨드 라인에서 Ubuntu를 설치하기 위해 USB 설치 프로그램을 만드시겠습니까?


22

부팅 가능한 USB 이미지를 만들어 새 컴퓨터에 Ubuntu를 설치하려고합니다.

Ubuntu 데스크탑에 대한 " USB 드라이브 만들기 "지침을 따르기 전에이 작업을 수행 했지만 Ubuntu 데스크탑을 사용할 수 없습니다.

명령 줄 만 사용하여 어떻게 똑같이 할 수 있습니까?

내가 시도한 것 :

  • Mac 용 ubuntu.com "USB 드라이브 만들기"지침에 따라 Mac OS X에서 부팅 가능한 USB를 만듭니다. 부팅하지 않습니다.
  • usb-creator: apt-cache search usb-creatorWikipedia 에 따르면 usb-creator는 그래픽 도구로만 존재합니다.
  • 지침 "수동으로 만들기" help.ubuntu.com에서을 : 파일과 디렉토리의 아무도 설명하지 않습니다 (예를 들면 casper, filesystem.manifest, menu.lst) ISO 이미지에 존재하고, 내가 그들을 대체 무슨 모른다.
  • unetbootin 스크립팅 : 완전히 스크립팅 한 경우에도 X 서버 (그래픽 지원)를 실행해야합니다. (명령 sudo unetbootin lang=en method=diskimage isofile=~/ubuntu-10.10-server-amd64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yes은 오류 메시지를 제공합니다 unetbootin: cannot connect to X server.)

최신 정보

GRUB fiddling도 시도했습니다 :

나는 반쯤 얻을 수있었습니다 .USB로 부팅하고 grub 메뉴를 표시하고 설치를 시작했지만 설치가 완료되지 않았습니다.

참고로, 이것은 내가 얻은 가장 가까운 것입니다.

sudo su
  # mount USB pen
mount /dev/sd[X]1 /media/usb
  # install GRUB
grub-install --force --no-floppy --root-directory=/media/usb /dev/sd[X]
  # copy ISO image to USB
cp ~/ubuntu-10.10-server-amd64.iso /media/usb
  # mount ISO image, copy existing grub.cfg
mount ~/ubuntu-10.10-server-amd64.iso /media/iso/ -o loop
cp /media/iso/boot/grub/grub.cfg /media/usb/boot/grub/

그런 다음 /media/usb/boot/grub.cfg.iso 루프백, 예를 들어 grub 항목을 추가하도록 편집 했습니다.

menuentry "Install Ubuntu Server" {
  set gfxpayload=keep
  loopback loop /ubuntu-10.10-server-amd64.iso  
  linux (loop)/install/vmlinuz  file=(loop)/preseed/ubuntu-server.seed iso-scan/filename=/ubuntu-10.10-server-amd64.iso quiet --
  initrd (loop)/install/initrd.gz
}

USB로 부팅 할 때 Grub 부팅 메뉴가 표시되고 설치 관리자가 시작되지만 CD-ROM 드라이브를 찾을 수 없다는 몇 가지 화면이 표시되면 설치 관리자가 포기했습니다. (당연히 설치하려는 상자에 광학 드라이브가 없으므로.)

Ubuntu Live 데스크탑 CD (광학 드라이브가있는 컴퓨터에서)를 사용하여 "USB 드라이브 만들기"루틴을 포기하고 수행하여이 특정 문제를 해결 한 다음 USB 설치가 작동합니다.

그러나 X 서버와 광학 드라이브가없는 Ubuntu 시스템의 명령 줄 에서이 작업을 수행 할 수있는 방법이 있기를 기대합니다. 그래서 여전히 문제가 있습니다.

아무도 방법을 알고 있습니까?


unetbootin을 시도하십시오.
RolandiXor

@Roland- unetbootin: cannot connect to X server 완전히 스크립팅 한 경우에도 X가 필요한 것 같습니다 ( unetbootin lang=en method=diskimage isofile=/srv/share/ubuntu-10.10-server-amd64.iso installtype=USB targetdrive=/dev/sdg1 autoinstall=yes). 팁을 주셔서 감사합니다. 다른 옵션이 없으면 X를 설치할 수 있습니다.
jg-faustus

이것들은 유망한 것처럼 보입니다 : pendrivelinux.com/install-grub2-on-usb-from-ubuntu-linuxunix.stackexchange.com/questions/665/… 약간의 조정이 필요하지만 시도해보십시오.
jg-faustus

@ jg-faustus : 일이 너무 복잡하다면 아마도 리눅스를 본딩했을 것입니다. 사용하십시오 dd. 보석입니다. 충분히 말할 수 없습니다. 그리고 모든 리눅스 배포판에는 dd; 따라서 스크립트 / 쓰기 / 구성 할 필요가없는 범용 솔루션이 있습니다. 하나의 아름다운 라인.
Mahesh

CD 이미지가 성공적으로 감지되면 치명적인 '사전 구성 파일을 검색하지 못했습니다'오류를 피하기 위해 해당 grub.cfg항목을 줄 file=/cdrom/preseed/ubuntu-server.seed에 표시 해야합니다 . linuxfile=(loop)/preseed/ubuntu-server.seed
Paul Whittaker

답변:


9

USB로 부팅 할 때 Grub 부팅 메뉴가 표시되고 설치 관리자가 시작되지만 CD-ROM 드라이브를 찾을 수 없다는 몇 가지 화면이 표시되면 설치 관리자가 포기했습니다.

이것은 우분투 서버 iso (데스크톱 iso가 잘 작동 함)의 알려진 버그이지만 USB 드라이브의 iso에서 패키지를 가져 오는 수정 사항이 있습니다. 터미널:

mount -t vfat /dev/sdX1 /mnt
ln -sf /mnt/ubuntu-server.iso /dev/sr0

그런 다음 설치 프로그램으로 다시 전환하고 CD의 패키지 스캔을 다시 시도하십시오. 작동해야합니다.


나는 지금 시도해 볼 수있는 시스템이 없지만 예-작동 해야하는 것처럼 들립니다 :) 감사합니다!
jg-faustus

"CD-ROM 감지 및 마운트"메뉴 옵션이 되돌리고 실행 /dev/sr0을 취소 ln하고 원래 (깨진) 상태로 되 돌리는 것을 발견했습니다. 그러나 "CD-ROM 마운트를 다시 시도 하시겠습니까?" 프롬프트 ln에서 tty2를 수행 한 다음 "예"를 누르기 위해 돌아 가면 작동했습니다. (그러나 "재시도?"대화창은 mount명령이
Paul Whittaker

10

# 시도해 보셨습니까 dd if=path/to/image.iso of=/dev/sd# ?


이것은 보석입니다. 최상의 것. 모든 리눅스 배포판에서 작동합니다. 하지만 조심해야합니다. 추가 bs=20M하거나 다른 적절한 값을 사용하면 속도가 빨라집니다. 자세한 내용은man dd
Mahesh

1
@Mahesh 아니요, 일부 Linux 배포판은이 명령으로도 작동하지 않습니다. 그중 하나는 OpenSUSE입니다
Anwar

또는 MeeGo와 그 이미지를 파생시키는 것을 하이브리드 이미지라고합니다
rzr

5

우리는 당신에게 프롬프트가 있다고 가정합니다. GUI가있는 경우 터미널을 열고 여기에 설명 된 모든 작업을 수행 할 수 있습니다. 또는 tty를 사용할 수 있습니다.

경고 :
잠재적 인 손상을 피하려면 지침을 매우 신중하게 따르십시오.

  • 입력하여 루트 프롬프트로 전환 sudo su

    USB가 어떤 장치인지 감지하십시오.

  • tail -f /var/log/syslog

이제 syslog에서 실시간으로 볼 수 있습니다. USB 드라이브를 연결하십시오. 화면에 일부 메시지가 나타납니다. 이 같은.

May 27 00:35:07 Mahesh kernel: [ 5054.646585] usb 2-1.1: new high-speed USB device number 5 using ehci_hcd
May 27 00:35:07 Mahesh kernel: [ 5054.741437] scsi8 : usb-storage 2-1.1:1.0
May 27 00:35:07 Mahesh mtp-probe: checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1"
May 27 00:35:07 Mahesh mtp-probe: bus: 2, device: 5 was not an MTP device
May 27 00:35:08 Mahesh kernel: [ 5055.739177] scsi 8:0:0:0: Direct-Access     JetFlash TS2GJFV30        8.07 PQ: 0 ANSI: 2
May 27 00:35:08 Mahesh kernel: [ 5055.740198] sd 8:0:0:0: Attached scsi generic sg3 type 0
May 27 00:35:08 Mahesh kernel: [ 5055.741593] sd 8:0:0:0: [sdc] 4005888 512-byte logical blocks: (2.05 GB/1.91 GiB)
May 27 00:35:08 Mahesh kernel: [ 5055.742214] sd 8:0:0:0: [sdc] Write Protect is off
May 27 00:35:08 Mahesh kernel: [ 5055.742218] sd 8:0:0:0: [sdc] Mode Sense: 03 00 00 00
May 27 00:35:08 Mahesh kernel: [ 5055.742712] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.742715] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.745326] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.745329] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.781564]  sdc: sdc1
May 27 00:35:08 Mahesh kernel: [ 5055.784191] sd 8:0:0:0: [sdc] No Caching mode page present
May 27 00:35:08 Mahesh kernel: [ 5055.784196] sd 8:0:0:0: [sdc] Assuming drive cache: write through
May 27 00:35:08 Mahesh kernel: [ 5055.784200] sd 8:0:0:0: [sdc] Attached SCSI removable disk

그것을보고 대괄호에서 반복되는 것을 찾으십니까? sdc이 경우 한 장의 종이에 적어 둡니다. 프롬프트를 표시하려면 Ctrl+ C를 입력 하십시오.

USB에 구울 iso 파일을 찾으십시오.

iso 파일이 /path/to/iso/somecd.iso; 종이에이 경로를 적어 둡니다.

USB에 쓰기

경고:

USB 디스크 전체 가 지워 집니다. 계속하기 전에 백업하십시오.

  • dd if=/path/to/iso/somecd.iso of=/dev/sdc ibs=20M obs=20M

교체 /path/to/iso/somecd.iso하여 ISO 파일의 실제 경로와 함께.

/dev/sdc앞에서 적어 둔 내용 으로 교체하십시오 . 반복 부분이 sdb; 사용 /dev/sdb등.

경고:

드라이브 문자를 잘못 입력하면 다른 드라이브에서 데이터가 영구적으로 손실됩니다. dd명령을 내릴 때 특히주의하십시오 .


2
잘못된 디스크를 선택하여 데이터 손실을 피하려면 /dev/disk/by-label/LABEL대신/dev/sdc
totti

1
현명한 제안. 그러나 레이블을 모르거나 톤이 '새 볼륨'이면 고통이됩니다. 나는 항상 sdX를 선호하지만 그것은 개인적인 선택입니다.
Mahesh

1
가장 좋은 답변입니다. 제안 된 개선 사항 중 하나는 입력 스트림에서 pv를 dd로 사용하여 진행률 피드백을받는 것입니다 (즉, pv는 iso를 읽고 dd로 스트리밍하고 stderr에 진행률을 표시 함).
Stabledog

2

터미널에서 부팅 가능한 Ubuntu USB 플래시 드라이브 만들기

  • 파일을 마운트합니다 ubuntu.iso.이를 위해 터미널에서 아래 명령을 실행하십시오.

    sudo mkdir /media/iso
    sudo mount -o loop /path/to/ubuntu.iso /media/iso
    
  • 그런 다음의 모든 파일을에서 /media/iso마운트 된 USB 플래시 드라이브 폴더로 복사하십시오 /media.

    USB 플래시 드라이브를 삽입하십시오.

    당신이 그것을 삽입 할 때마다 자동으로 마운트 /media됩니다 /media/xxxx.USB 파티션은 내부에 마운트해야합니다 .USB 드라이브가 폴더 안에 마운트되어 있다고 가정합시다. 그런 다음 아래 명령을 실행하십시오.

    cp -a /media/iso/. /media/xxx
    

    lsblkUSB 장치 파티션을 알고 명령을 실행하십시오 .

  • 그런 다음 ldlinux.sysUSB 플래시 드라이브 파티션 (내 경우에는 / dev / sdd1 ) 안에 파일을 붙여 USB를 부팅 가능 하게 만드십시오 .

    sudo apt-get install syslinux mtools
    syslinux -s /dev/sdd1
    
  • 로 이동 /media/xxx폴더와 이름 변경 isolinux에 대한 디렉토리 syslinux그 때는이 이름이 바뀐 SYSLINUX 폴더로 이동하고 파일 이름을 변경 isolinux.cfg하는 방법에 대해 syslinux.cfg.

       mv /media/xxx/isolinux /media/xxx/syslinux
       mv /media/xxx/syslinux/isolinux.cfg /media/xxx/syslinux/syslinux.cfg
    
  • PC를 재부팅 boot-order하고 BIOS에서 USB를 변경하면 우분투 USB 플래시 드라이브가 부팅되어 설치할 수 있습니다.

이 방법은 우분투뿐만 아니라 모든 Linux 배포판에서 작동합니다.


1

Ubuntu Live 데스크탑 CD를 사용하여이 특정 문제를 해결했습니다.

광 드라이브가있는 컴퓨터에서 Live CD를 부팅함으로써 Ubuntu 데스크탑 지침을 사용하여 기존 설치를 건드리지 않고 USB 펜 설치 프로그램을 만들 수있었습니다.


1

이를 위해 usb-creator를 해킹 할 수 있습니다.

USB 장치에 파티션 1로 단일 vfat 파티션이 이미 있어야하며 (usb-creator-gtk의 디스크 지우기 단계에서 수행) 부팅 가능으로 표시되어 있어야합니다.

다음으로 usb-creator python 코드가 제공됩니다.

$ sudo apt-get install usb-creator

또는

$ bzr branch lp:usb-creator

이 내용으로 파일을 작성하고 이름을 usb-creator-cli로 지정하십시오. 마지막 단계에서 bzr을 사용하는 경우이 파일을 usb-creator 디렉토리 (bzr 브랜치의 루트)에 두십시오.

#!/usr/bin/env python
from __future__ import print_function
from usbcreator.misc import sane_path, setup_gettext, setup_logging, text_type

from usbcreator.install import install

sane_path()
setup_logging()
setup_gettext()

#/dev/sdb1 should be mounted on /mnt
#iso should be mounted to /iso
dev = '/dev/sdb1'
source = '/iso'
target = '/mnt' 
ugh = install(source, target, False, device=dev)
ugh.success = print
ugh.failure = print
ugh.progress = print
ugh.progress_message = print
ugh.progress_pulse = print
ugh.progress_pulse_stop = print
ugh.retry = print
ugh.run()

실행 가능하게 만들기

$ chmod +x usb-creator-cli

이제 iso를 / iso에 마운트하고 USB 장치를 / mnt에 마운트하십시오

$ sudo mkdir /iso ; sudo mount ubuntu-server-12.10-amd64.iso /iso
$ sudo mount /dev/sdb1 /mnt

콘솔에서 매우 자세한 메시지를 원한다면 ~ / .cache / usb-creator.log

$ tail -f ~/.cache/usb-creator.log &

이제 usb-creator-cli 스크립트를 실행하십시오.

$ sudo ./usb-creator-cli

그리고 모든 메시지가 스크롤되는 것을보십시오.

프롬프트로 돌아 가면 USB 저장 장치를 잡아 당기기 전에 / mnt를 마운트 해제하는 것을 잊지 마십시오.


-2

Alternate Install 또는 Mini iso (512MB 스틱에 맞아야 함)를 사용하여 CLI (명령 줄) Ubuntu를 설치할 수 있습니다.

그런 다음 대체 방법을 사용하여 Crunchbang을 설치 하십시오 . http://crunchbanglinux.org/forums/topic/26/crunchbang-linux-81001-alternative-installation/

512MB보다 작은 Lite 버전의 CrunchBang을 사용해 볼 수도 있습니다.

Unetbootin을 사용하여 USB 스틱을 준비 할 수 있습니다.


위기? 하하?
RolandiXor

나는 스틱에 ISO를 맞추는 데 문제가 없지만 (16GB), ISO로 부팅하는 USB 스틱을 만들고 CLI 만 사용하여 USB 스틱을 만드는 방법에 대한 질문입니다.
jg-faustus

그리고 unetbootin은 안타깝게도 작동하지 않습니다. 명령 행에서 실행할 때에도 그래픽 지원이 필요한 것 같습니다.
jg-faustus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.