ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* Re: [sisyphus] Как установить GRUB?
  @ 2008-04-17  9:11 ` Alexey I. Froloff
      1 sibling, 1 reply; 7+ messages in thread
From: Alexey I. Froloff @ 2008-04-17  9:11 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

[-- Attachment #1: Type: text/plain, Size: 773 bytes --]

* diver <diver666@> [080417 02:47]:
> После очередного переезда на новое железо не удалось установить в роли
> загрузчика GRUB.
Напоминаю, что GRUB необходим ровно для одной задачи - XEN ;-)

> Поясните на пальцах как его правильно и проще ставить, пожалуйста :)
Вообще - grub-install /dev/sda.  На некоторых машинах наблюдаются
странные затыки, много раз пишет про неизвестный partition table,
но в итоге установка проходит нормально.

> cat /boot/grub/install.sh
> grub --device-map=/boot/grub/device.map --batch <<EOF
> install (hd0,0)/boot/grub/stage1 d (hd0) (hd0,0)/boot/grub/stage2 p (hd0,0)/boot/grub/menu.lst
> quit
> EOF
Этот файл был создан, видимо, инсталлером M2.2.  Можно
попробовать setup из grub'овского шелла.

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [sisyphus] Как установить GRUB?
  @ 2008-04-17 13:17     ` Alexey I. Froloff
    0 siblings, 1 reply; 7+ messages in thread
From: Alexey I. Froloff @ 2008-04-17 13:17 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

[-- Attachment #1: Type: text/plain, Size: 784 bytes --]

* diver <diver666@> [080417 17:07]:
> apt-get install --reinstall grub
Это не надо.

> grub-install /dev/sda
> Unknown partition table signature
> Unknown partition table signature
> Unknown partition table signature
> Unknown partition table signature
> Unknown partition table signature
> The file /boot/grub/stage1 not read correctly.
Это он не смог прочитать файл напрямую с раздела.  Какая FS?

Запустите

grub-install --debug /dev/sda > grub.log 2>&1

и grub.log мне в личку.

> Так как его все таки поставить? Стоял столько лет, пережил переезд на 4
> харда, а на 5-й отказывается :) Уж очень сильно хочу его засунуть в MBR,
> помогите :)

grub> root (hd0,0)
или
grub> find /boot/grub/stage1

потом

grub> setup (hd0)

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [sisyphus] Как установить GRUB?
  @ 2008-04-17 15:54         ` Alexey I. Froloff
  2008-04-18 10:48         ` Sergey Vlasov
  1 sibling, 0 replies; 7+ messages in thread
From: Alexey I. Froloff @ 2008-04-17 15:54 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

[-- Attachment #1: Type: text/plain, Size: 354 bytes --]

* diver <diver666@> [080417 19:19]:
> > Это он не смог прочитать файл напрямую с раздела.  Какая FS?
> /dev/sda1 on / type ext3 (rw)
Нормально.

> grub> setup (hd0)
>  Checking if "/boot/grub/stage1" exists... no
>  Checking if "/grub/stage1" exists... no
И где он?  Покажите вывод

ls -lAR /boot/
и
rpm -V grub

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [sisyphus] Как установить GRUB?
    2008-04-17 15:54         ` Alexey I. Froloff
@ 2008-04-18 10:48         ` Sergey Vlasov
  2008-04-18 11:03           ` Alexey I. Froloff
  1 sibling, 1 reply; 7+ messages in thread
From: Sergey Vlasov @ 2008-04-18 10:48 UTC (permalink / raw)
  To: sisyphus

[-- Attachment #1: Type: text/plain, Size: 478 bytes --]

On Thu, Apr 17, 2008 at 06:18:50PM +0300, diver wrote:
> /dev/sda1 on / type ext3 (rw)
> /dev/sda3 on /home type reiserfs (rw,noatime)
> /dev/sdb1 on /mnt/big type reiserfs (rw,noatime)

>  grub> root (hd0,0)
>  Filesystem type is ext2fs, partition type 0x83
> 
> grub> setup (hd0)
>  Checking if "/boot/grub/stage1" exists... no
>  Checking if "/grub/stage1" exists... no
> 
> Error 2: Bad file or directory type

А что про эту ФС говорит tune2fs -l /dev/sda1 ?

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [sisyphus] Как установить GRUB?
  2008-04-18 10:48         ` Sergey Vlasov
@ 2008-04-18 11:03           ` Alexey I. Froloff
  0 siblings, 0 replies; 7+ messages in thread
From: Alexey I. Froloff @ 2008-04-18 11:03 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

[-- Attachment #1: Type: text/plain, Size: 321 bytes --]

* Sergey Vlasov <vsu@> [080418 14:55]:
> А что про эту ФС говорит tune2fs -l /dev/sda1 ?
Ничего подозрительного не говорит.  Как оказалось там лежали в
корне два файла с st_mode равным 0.  grub когда это безобразие
видел, сразу прекращал дальнейшие поиски чего-либо на этом
устройстве.

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [sisyphus] Как установить GRUB?
  @ 2008-04-23 12:57     ` Led
  0 siblings, 0 replies; 7+ messages in thread
From: Led @ 2008-04-23 12:57 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

Wednesday, 23 April 2008 15:53:58 diver написав:
> Привет,
>
>
> Что никто не знает как удалить такие файлы?

Как обычно:
rm -f ...
предварительно посмотрев, есть ли у удаляющего права на их удаление.

> Может кто-то может посмотреть у себя в debugfs /dev/sda1
> ls -l -d есть ли  такие файлы вообще? Может дело в  grub , что он на них
> спотыкается?

-- 
Led

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [sisyphus] Как установить GRUB?
    @ 2008-04-23 17:57   ` Sergey Vlasov
  1 sibling, 0 replies; 7+ messages in thread
From: Sergey Vlasov @ 2008-04-23 17:57 UTC (permalink / raw)
  To: sisyphus

[-- Attachment #1: Type: text/plain, Size: 2723 bytes --]

On Sat, Apr 19, 2008 at 12:05:18AM +0300, diver wrote:
> С помощью raorn@ удалось выяснить что grub-install выдаёт ошибку:
> "The file /boot/grub/stage1 not read correctly." из-за наличия файлов в
> корне фс,
> которых как я понимаю там быть не должно.
> Загрузившись  с LiveCD и при попытке удалить их через debugfs получаю:
> $rm /.rnd (rm .rnd)
> File not found by ext2_lookup while trying to resolve filename
> 
> $kill_file /.rnd (kill_file .rnd)
> File not found by ext2_lookup
> 
> Есть другие методы как их удалить?
> 
> fsck на раздел никаких ошибок не находит, и в работе ОС проблем не замечаю.
[...]
>  881281   40755 (2)      0      0    4096 24-Jan-2006 21:37 sys
> <     0>      0 (1)      0      0       0                   .rnd
> <     0>      0 (1)      0      0       0                   .ismount-test-file

Похоже, в данном случае неправ grub - судя по коду ext2 в ядре,
элементы каталога с de->inode == 0 должны игнорироваться.  Например,
вот кусок кода из fs/ext2/dir.c:ext2_readdir():

		for ( ;(char*)de <= limit; de = ext2_next_entry(de)) {
			if (de->rec_len == 0) {
				ext2_error(sb, __FUNCTION__,
					"zero-length directory entry");
				ext2_put_page(page);
				return -EIO;
			}
			if (de->inode) {
				int over;
				unsigned char d_type = DT_UNKNOWN;

				if (types && de->file_type < EXT2_FT_MAX)
					d_type = types[de->file_type];

				offset = (char *)de - kaddr;
				over = filldir(dirent, de->name, de->name_len,
						(n<<PAGE_CACHE_SHIFT) | offset,
						le32_to_cpu(de->inode), d_type);
				if (over) {
					ext2_put_page(page);
					return 0;
				}
			}
			filp->f_pos += ext2_rec_len_from_disk(de->rec_len);
		}

Функция ext2_match(), используемая в ext2_find_entry() при поиске в
каталоге элемента с заданным именем, тоже игнорирует такие элементы:

static inline int ext2_match (int len, const char * const name,
					struct ext2_dir_entry_2 * de)
{
	if (len != de->name_len)
		return 0;
	if (!de->inode)
		return 0;
	return !memcmp(name, de->name, len);
}

Следовательно, исправлять надо не файловую систему, а код для работы с
ext2 в grub.

Вообще подобные элементы могут появляться в каталоге, например, при
удалении файла, элемент каталога для которого был первым в блоке (в
других случаях освободившееся место просто присоединяется к
предыдущему элементу); воспроизвести эту ситуацию можно путём создания
и последующего удаления большого количества файлов в каталоге.  Обойти
проблему можно, если выполнить e2fsck -f -D - при этом пустые записи в
каталогах удаляются (особо разросшиеся каталоги оптимизируются и без
-D, но одного лишнего блока для автоматического запуска оптимизации
недостаточно).

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-04-23 17:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-17  9:11 ` [sisyphus] Как установить GRUB? Alexey I. Froloff
2008-04-17 13:17     ` Alexey I. Froloff
2008-04-17 15:54         ` Alexey I. Froloff
2008-04-18 10:48         ` Sergey Vlasov
2008-04-18 11:03           ` Alexey I. Froloff
2008-04-23 12:57     ` Led
2008-04-23 17:57   ` Sergey Vlasov

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git