PXE를 사용하여 네트워크 부팅 가능 유틸리티 디스크를 설정하는 방법
Ubuntu LiveCD를 네트워크 부팅하는 방법을 보여주었습니다. 이 기사에서는 다른 유틸리티를 네트워크 부팅 가능하게 만드는 방법을 보여줍니다.이 유틸리티는 사용중인 다른 유틸리티의 절차를 복제하는 데 필요한 지식을 제공합니다.
노트 : 이 글은 초보자를 대상으로하지는 않지만, 계속 읽으 셔도 좋습니다.!
이미지 Steve Jurvetson
개요
이 가이드는 유틸리티를 변환 할 수있는 도구를 제공하여 PXEable로 만드는 것을 목표로합니다. 불행히도 햇빛 아래 도구를 변환 할 수는 없지만 적어도 시도하지 않았다면 괴짜가 아닙니다..
"네트워크 부팅 (PXE) 우분투 LiveCD"안내서에서 언급했듯이 문제 해결, 진단 및 복구 절차 도구를 사용하기 위해 우분투를 아직 사용하지 않는 경우에는 무엇을 기다리고 있습니까??
그 말로는 우분투 LiveCD에서 간단히 할 수없는 일 (BIOS 업그레이드 같은)이 있거나 이미 다른 도구를 사용하고 있고 어떤 이유로 든 계속 사용하고 싶다는 것을 인정해야합니다.
권장 사항, 가정 및 전제 조건
- "네트워크 부팅 (PXE)이란 무엇이며 어떻게 사용할 수 있습니까?"가이드에서 설명한대로 FOG 서버를 이미 설정했다고 가정합니다..
- "VIM"프로그램이 편집기로 사용되는 것을 볼 수 있습니다. 이는 주로 Linux 플랫폼에서 널리 사용 가능하기 때문입니다. 원하는 다른 편집기를 사용할 수 있습니다..
- UBCD (Ultimate Boot CD)는 다른 유틸리티 콜렉션과 달리 무료로 다운로드 할 수 있으며 번들로 제공되는 프로그램은 자유롭게 사용할 수 있습니다.
왜 ISO를 PXE 이상으로 사용하지 않는가??
PXEing에 대해 이야기 할 때 자주 묻는 질문입니다. 짧은 대답은 기술적으로는 ISO 이미지를 가져 와서 클라이언트 컴퓨터에 PXE로 가져올 수 있지만 거의 항상 ISO의 내용은 실제 CDROM 드라이브에서 물리적 인 표현이 가능할 것으로 기대합니다. 따라서 ISO의 내용이 무엇이든, 클라이언트 컴퓨터의 물리적 CDROM 드라이브에있는 "post boot-sector"파일을 찾으려고 할 것이고, 찾지 못할 것이며 실패 시동하다.
이 문제를 극복하기위한 두 가지 방법은 다음과 같습니다.
- ISO를 굽고 클라이언트 컴퓨터의 CD-ROM 드라이브에 넣습니다., 아니 CD를 사용하는 것은 우리가 피하려고하는 것입니다 ...
- ISO를 열고 CDROM을 사용하도록 프로그램이 작동하는 방식을 변경하십시오. 운전사 그것은 RAM에서 ISO를 찾는 방법을 알고 있습니다 - 상당히 복잡하고, 모든 유형의 부팅 가능한 프로그램마다 다릅니다. I.E. 리눅스, WinPE 또는 UBCD에 대한 몇 가지 절차는 동일하지 않습니다..
위의 두 가지 모두 "단지 ISO를 사용하는"목표를 무효화하기 때문에 이것이 우리가이 노력을 추구하는 것을 권장하지 않는 이유입니다.
커널 메소드
매우 드문 경우지만, 부팅하려는 프로그램이 커널 기능 만 필요할 수도 있습니다. 대표적인 예가 "memtest86 +"입니다. Memtest는 대부분의 Linux 배포판 설치 CD 및 FOG와 번들로 제공됩니다. Memtest는 테스트 된 하드웨어의 가장 기본적인 기능과 통신 할 수 있어야하므로 I.E. 메모리 (RAM), 심지어 그것을 완벽하게 지원하지 않고도 잘 작동 할 수 있습니다 (IE는 메모리를 테스트 할 것입니다. 유형, 속도 등을 모르는 경우에도) '아무것도 실행하지 않아도됩니다. 그렇지 않으면 완전히 자율적으로 일할 수 있습니다..
memtest에 대한 PXE 메뉴 항목은 다음과 같이 간단하게 보일 수 있습니다.
LABEL Memtest86을 실행하십시오.+
커널 안개 / memtest / memtest
추가하다 -
이 예제에서, "LABEL Run Memtest86 +"는 엔트리의 이름을 설정하고, "kernel fog / memtest / memtest"는 PXElinux에게 클라이언트에게 보낼 커널을 어디로 가져오고, "append -"는 PXElinux가 무시하도록 지시합니다 * 상속에서 추가 부팅 옵션.
* 참고 : 설정에 따라, 이것은 필요하지 않을 수도 있으며 실제로 FOG에서는 사용되지 않습니다..
커널 + 초기화 메소드
이 방법은 가장 보편적으로 사용되며 다음과 같은 이유로 확산됩니다.
- 요즘 많은 유틸리티가 리눅스 세상에서 왔습니다..
- Linux는 하드웨어 지원 기능이 뛰어나고 자유롭게 사용할 수 있기 때문에 점점 더 많은 회사들이 Linux가 독점적 인 프로그램을.
UBCD의 CPUstress 유틸리티를 예제로 사용할 수 있습니다..
UBCD 파일 구조에서이 유틸리티는 "ubcd / boot / cpustress"디렉토리에 있습니다. 우리가 찾고있는 파일은 "커널"인 "bzImage"와 "초기 램 디스크"인 "initrd.gz"입니다. 작성한 FOG 설정을 사용하는 경우 "/ tftpboot / howtogeek / utils"아래에 디렉토리를 복사하는 것이 좋습니다. 완료되면 "/tftpboot/howtogeek/menus/utils.cfg"파일을 편집하여 UBCD의 메뉴 항목에있는 부팅 항목을 추가하십시오. 이것은 "ubcd / menus / syslinux / cpu.cfg"에서 찾을 수 있습니다. FOG 설정을 조정하면 메뉴 항목이 다음과 같이 표시됩니다.
메뉴 라벨 StressCPU V2.0 (SSE가있는 CPU 필요)
텍스트 도움말
CPU를 고문하여 과열되지 않았는지 확인하십시오.
문제. SSE가 장착 된 x86 CPU가 필요합니다. 특별판 버전을 실행합니다.
열에 SSE 및 정상적인 조립 지침을 혼합 한 그로 막스 내부 루프
가능한 한 CPU.
ENDTEXT
커널 하우투 / 유틸리티 / cpustress / bzImage
INITRD howtogeek / utils / cpustress / initrd.gz
APPEND root = / dev / ram0 ramdisk_size = 12000 noapic ubcdcmd = stresscpu2
장소 :
- MENU LABEL - 항목의 이름을 설정합니다.
- TEXT HELP -이 선택적 지시문은 메뉴에 표시되는 도움말 텍스트를 제공하여 선택한 항목에 대한 정보를 제공합니다.
- KERNEL - TFTPD 디렉토리에있는 "kernel"파일의 위치를 지정합니다..
- INITRD - "initrd"파일에 대해서만 위와 같습니다..
- APPEND - 부팅 된 프로그램에 전달되어야하는 추가 매개 변수를 지정합니다..
몇 가지주의해야 할 사항은 다음과 같습니다.
- 하드 코어 괴짜는 "LINUX"의 원래 지시어를 "KERNEL"로 대체 한 것을 알 수 있습니다. 그 이유는 다음과 같습니다. A. 이렇게하면 예제를 더 쉽게 읽을 수 있습니다. B.이 예제에서는별로 중요하지 않습니다..
그 말로는 보통 "LINUX"지시어를 사용할 때 pxelinux / syslinux에게 우리가 커널을 사용하는 것이 아니라 Linux 만 사용하고 있다고 알려주기 때문에 그대로 두는 것이 좋습니다.. - 우리는 의도적으로 첨부 된 매개 변수에서 "조용한"지시문을 가져 왔습니다. 이는 Syslinux가 최신 버전의 "quiet"매개 변수를 처리하는 방식이 변경 되었기 때문입니다.
- 추가 된 파라미터 "ubcdcmd"를 간단히 변경하여 "StressCPU"프로그램의 작동을 변경할 수 있습니다. 따라서 다른 함수를 사용하려면 항목을 복사하고 "stresscpu2"를 다음과 같이 바꿉니다. cpuinfo, cpuburn 또는 mprime24.
이것은 매우 간단한 예이지만, 당신을 끌어들일만큼 충분해야합니다..
커널 + 초기화 + NFS 메소드
이 방법은 "네트워크 부트 (PXE) 방법 우분투 LiveCD"가이드에서 사용한 방법입니다. 이 방법은 이전 방법을 기반으로하며 일부 Linux 배포판이 NFS에서 마운트 된 "루트 파일 시스템"을 지원한다는 사실을 이용합니다. 우분투 가이드는 훌륭한 예이지만, 가까운 장래에 계획된 또 다른 가이드가 이미 있다는 것을 안심하십시오. "검은 버섯에 눈을 뜨고".
MEMDISK 방법
MEMDISK는 Syslinux 패키지와 함께 배포되는 유틸리티입니다. 이 유틸리티의 목적은 이미지를 사용하여 "디스크"(주로 플로피를 참조)를 에뮬레이션 할 수있게하는 것입니다. 이 유틸리티가 작동하는 방식은 플로피 드라이브 (A.K.A. 인터럽트 핸들러)와 통신하는 방법을 지정하는 RAM의 위치에 연결하여 MEMDISK 프로그램이 처리하는 새 위치를 가리키는 것입니다. 이 방법을 사용하면 "커널"은 MEMDISK 유틸리티이고 "initrd"는 플로피 이미지 (.img) 파일입니다.
주목할 것은 FOG가 사용하는 pxelinux.0 버전과 호환되는 "memdisk"버전이 있다는 것입니다. 따라서 "img"파일과 함께 제공되는 "memdisk"파일을 소스에서 복사하지 않는 것이 좋습니다.
이 방법은 이미 일반 유틸리티와 BootCD 에서조차 사용되는 경우가 많으므로 BootCD에서 "IMG"파일을 찾아서 PXE의 서버 TFTPD 디렉토리로 복사하고 ISOlinux 메뉴 항목을 다음 위치로 복사하는 간단한 작업입니다. PXElinux 메뉴.
UBCD의 MEMDISK 방법을 사용하는 유틸리티 중 하나를 PXE에서 작동하도록 어떻게 적응시킬 수 있는지 살펴 봅니다..
TestMemIV 유틸리티는 "ubcd / images / testmem4.img.gz"의 UBCD 파일 구조에서 찾을 수 있습니다. 이미 memdisk 디스크 유틸리티가 있기 때문에 "img"파일을 "howtogeek / utils /"디렉토리에 복사하면됩니다. FOG 설정을 조정하면 메뉴 항목이 다음과 같이 표시됩니다.
메뉴 라벨 TestMemIV
텍스트 도움말
Nvidia 비디오 카드의 시스템 메모리 및 메모리를 테스트합니다..
ENDTEXT
리눅스 memdisk
INITRD howtogeek / utils / testmem4.img.gz
이것은 UBCD의 자체 플로피 이미지 파일의 예이지만, 다른 UBCD 프로그램의 대부분은 동일한 기본 이미지를 사용하여 작업을 시작하고 ( "fududcd.img.gz") "ubcdcmd"추가 매개 변수를 사용하여 프로그램을 자동 시작합니다. CDROM 포스트 부팅. 즉, 일부 주요 리버스 엔지니어링 없이는 대부분의 유틸리티를 네트워크 부팅 가능으로 변환 할 수 없습니다. 역 공학이 가능하지만 (여기에서 볼 수 있듯이) 훌륭한 괴짜 운동 인 반면,이 가이드의 범위를 벗어납니다..
위와 같이 말하면, 난해한 OEM 진단 또는 BIOS 업그레이드 유틸리티에 대해이 절차를 수행 할 수있는 도구가 제공됩니다.
그래서 피의 관문을 넘어서 불의 전당을지나 잠겨 버린 용맹은 빛의 영웅이 각성하기를 기다립니다 ...