Дистрибутив SystemRescueCD — удобный мини-дистрибутив, которым я пользуюсь для разбивки жестких дисков на разделы.

Озадачился установкой его на флешку, которую я переформатировал под NTFS, чтобы было можно записывать на нее файлы больше 4Гб. Ранее для установки я использовал Unetbootin, но в последних версиях они выпилили поддержку NTFS. Решил сделать вручную. Причем, оказалось, что ISO-образ дистрибутива можно не распаковывать на флешку, а использовать как есть.

  • Итак, сначала создадим на флешке папку под загрузчик GRUB — /boot, папку для образа системы — /boot/iso
  • Установим загрузчик:

1
grub-install --no-floppy --root-directory=/media/oleg/flash /dev/sdb

В /media/oleg/flash/boot на флешке будет установлен GRUB, /dev/sdb — файл-устройство вашей флешки

  • Скопируем в /media/oleg/flash/boot/iso файл с образом системы systemrescuecd-x86-3.7.1.iso
  • Создадим файл /media/oleg/flash/boot/grub/grub.cfg примерно такого содержания:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# Global options
set timeout=90
set default=0
set fallback=1
set pager=1
set menu_color_normal=white/black
set menu_color_highlight=blue/light-gray

# Display settings
if loadfont /boot/grub/font.pf2 ; then
    set gfxmode=auto
    insmod efi_gop
    insmod efi_uga
    insmod gfxterm
    terminal_output gfxterm
fi

menuentry "SystemRescueCd (32bit, directly start the grahical environment)" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux    (loop)/isolinux/rescue32 dostartx isoloop=/boot/iso/systemrescuecd-x86-3.7.1.iso scandelay=1 setkmap=us
    initrd    (loop)/isolinux/initram.igz
}

menuentry "SystemRescueCd (32bit, default boot options)" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux (loop)/isolinux/rescue32 isoloop=/boot/iso/systemrescuecd-x86-3.7.1.iso scandelay=1 setkmap=us
    initrd (loop)/isolinux/initram.igz
}

menuentry "SystemRescueCd (32bit, cache all files in memory)" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux    (loop)/isolinux/rescue32 docache isoloop=/boot/iso/systemrescuecd-x86-3.7.1.iso scandelay=1 setkmap=us
    initrd    (loop)/isolinux/initram.igz
}

menuentry "SystemRescueCd (32bit, alternative kernel with default options)" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux    (loop)/isolinux/altker32 isoloop=/boot/iso/systemrescuecd-x86-3.7.1.iso scandelay=1 setkmap=us
    initrd    (loop)/isolinux/initram.igz
}

menuentry "SystemRescueCd (32bit, disable Kernel-Mode-Settings)" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux    (loop)/isolinux/rescue32 nomodeset isoloop=/boot/iso/systemrescuecd-x86-3.7.1.iso scandelay=1 setkmap=us
    initrd    (loop)/isolinux/initram.igz
}

menuentry "Boot exising Linux OS installed on the disk (32bit kernel)" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux    (loop)/isolinux/rescue32 root=auto
    initrd    (loop)/isolinux/initram.igz
}

menuentry "SystemRescueCd (64bit, default boot options)" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux    (loop)/isolinux/rescue64 isoloop=/boot/iso/systemrescuecd-x86-3.7.1.iso scandelay=1 setkmap=us
    initrd    (loop)/isolinux/initram.igz
}

menuentry "SystemRescueCd (64bit, cache all files in memory)" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux    (loop)/isolinux/rescue64 docache isoloop=/boot/iso/systemrescuecd-x86-3.7.1.iso scandelay=1 setkmap=us
    initrd    (loop)/isolinux/initram.igz
}

menuentry "SystemRescueCd (64bit, alternative kernel with default options)" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux    (loop)/isolinux/altker64 isoloop=/boot/iso/systemrescuecd-x86-3.7.1.iso scandelay=1 setkmap=us
    initrd    (loop)/isolinux/initram.igz
}

menuentry "SystemRescueCd (64bit, disable Kernel-Mode-Settings)" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux    (loop)/isolinux/rescue64 nomodeset isoloop=/boot/iso/systemrescuecd-x86-3.7.1.iso scandelay=1 setkmap=us
    initrd    (loop)/isolinux/initram.igz
}

menuentry "SystemRescueCd (64bit, directly start the grahical environment)" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux    (loop)/isolinux/rescue64 dostartx isoloop=/boot/iso/systemrescuecd-x86-3.7.1.iso scandelay=1 setkmap=us
    initrd    (loop)/isolinux/initram.igz
}

menuentry "Boot exising Linux OS installed on the disk (64bit kernel)" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux    (loop)/isolinux/rescue64 root=auto
    initrd    (loop)/isolinux/initram.igz
}

menuentry "MemTest+" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux16 (loop)/bootdisk/memtestp
}

menuentry "NT Password Editor" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux (loop)/ntpasswd/vmlinuz
    initrd (loop)/ntpasswd/initrd.cgz
}

menuentry "Gag" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux16 (loop)/isolinux/memdisk
    initrd16 (loop)/bootdisk/gag.img
}

menuentry "MHDD" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux16 (loop)/isolinux/memdisk
    initrd16 (loop)/bootdisk/mhdd.img
}

menuentry "Hardware Detection Tool" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux16 (loop)/isolinux/memdisk
    initrd16 (loop)/bootdisk/hdt.img
}

menuentry "Aida" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux16 (loop)/isolinux/memdisk
    initrd16 (loop)/bootdisk/aida.img
}

menuentry "FreeDOS" {
    loopback loop /boot/iso/systemrescuecd-x86-3.7.1.iso
    linux16 (loop)/isolinux/memdisk
    initrd16 (loop)/bootdisk/freedos.img
}

menuentry "Boot from HDD" {
    exit
}

menuentry "Reboot" {
    reboot
}

Все, можно перезагружаться.

P.S. SystemRescueCD можно сконфигурировать так, чтобы настройки не сбрасывались при перезагрузке, но, к сожалению, это не работает на NTFS 🙁

Страница просмотрена 1163 раз(а)