How to recover qnx?

I use vmware to start my qnx,the error message is “./diskroot file for root not found on any system” and goto safe mode,how can i reover it ?

I think the kernel is loading, but when a disk file system is searched for, it is not found. The question is why? If you are booting off of a hard drive, the boot file might be in place, but the root directory might be corrupted.

If you can transfer the hard drive to another working QNX system you can have a closer look and see what is going on, on the disk.

You might also try booting off of the install CD and using it to investigate.

thank you,btw, could you tell me how to boot by CD in vmware?

This is very well explain in the VMware manual.

when the system starts,I hit F2 into BIOS and change the CD-ROM as the first boot ,but it didn’t boot from CD-ROM,why?

Take a look at what the CD-ROM is defined as. You can define a CD-ROM an an image or a driver or something called Auto. I have a feeling if you specify Auto and you are using the real drive for something else at the time, the Auto access will fail and then it will go on to the next boot device. Just a guess.

yes,I can boot from CD-ROM,then i copy the ./diskroot file from / to /fs/hd0-qnx4(i guess it’s the directory of harddisk qnx),but after it,it boots and also give the same warning “./diskroot file for root not found on any system”,why?

I’m waiting for the answer.

My guess is that something other than ./diskroot is missing. Maybe the boot file on the hard drive is not loading the right hard disk driver and the disk isn’t being found at all.

This might seem like a backwards chicken and egg problem but it is not. The BIOS will load the boot file, but once loaded the boot file will not use the BIOS disk access functions. That’s because the BIOS runs in real mode, not protected mode. Since the CD-ROM worked, QNX has a working driver for your controller, but if the boot file is customized, it could have been removed.

the error message is in attached file

You try booting your HD? then .diskroot should contain / and not /fs/pgk…
read article about .diskroot in the documentation