Before you start, make sure there is a recent mksysb on the nim server you will be working from, so you can restore if all goes badly wrong.
  
  bash-3.00# ls -l /export/nim/mksysb/backupios/B0022-VIOS1E.image
  total 127403304
  drwxr-xr-x    2 root     system         4096 29 Apr 10:28 .
  drwxr-xr-x   11 root     system        12288 27 Jul 09:08 ..
  -rw-r--r--    1 root     system   5134233600 24 Jul 18:01 B0022-VIOS1E.image
  ...
# uname -a
AIX b0045nim 1 6 00065146D700
#
# cd /export/nim/mksysb  (for vio servers cd backupios )
Check there is a recent mksysb:-
# ls -lart
total 1070531720
drwxr-xr-x    2 root     system          256 20 Jun 2007  lost+found
-rw-------    1 root     system          241 06 Feb 2009  nohup.out
drwxr-xr-x    2 root     system         4096 29 Oct 2009  scripts
drwxr-xr-x    6 root     system          256 30 Oct 2009  hmcbackup
drwxrwxr-x   11 root     system         4096 18 Nov 2009  ..
drwxr-x---    2 root     system         4096 07 Mar 07:27 svc1
drwxr-xr-x    2 root     system         4096 08 Mar 14:34 switches
drwxr-xr-x    2 root     system         4096 29 Apr 10:28 backupios
drwxr-xr-x  209 root     system         8192 30 Apr 08:45 vgdata
-rw-r--r--    1 root     system   3332044800 08 May 14:44 itmptdw-gbe.image
drwxr-xr-x  211 root     system         8192 22 Jun 11:13 AIXinfo
drwxr-xr-x   11 root     system        12288 18 Jul 06:48 .
-rw-r--r--    1 root     system   4826009600 18 Jul 07:03 notes304-gbe.image
-rw-r--r--    1 root     system   4511078400 18 Jul 07:11 notes308-gbe.image
-rw-r--r--    1 root     system   3198412800 18 Jul 07:17 notes316-gbe.image
-rw-r--r--    1 root     system   5030553600 18 Jul 07:26 notes319-gbe.image
-rw-r--r--    1 root     system   7085158400 19 Jul 12:12 b0045nim.image
drwxr-xr-x    2 root     system        40960 21 Jul 13:00 svc2
Log onto the HMC
system management
servers
select the frame
check the vio server you are working on
configeration
managed profiles
check normal
edit
I/O tab
click on added twice (to bring what you want to see to the top)
same for novirt
check that the top few are the same especially fibre channel serial bus
cancel and close
# uname -a
AIX b0045nim 1 6 00065146D700
#
# ssh hscroot@hmc3
Last login: Wed Jul 21 12:02:44 2010 from b0045nim.brm.pri
hscroot@b0039:~>
hscroot@b0039:~>vtmenu
select frame
 ----------------------------------------------------------
  Managed Systems:
 ----------------------------------------------------------
   1) Server-9119-595-2-SN83627FE
   2) Server-9131-52A-SN065934G
   3) Server-9119-595-3-SN836830F
   4) Server-9131-52A-SN067385G
 Enter Number of Managed System.   (q to quit):
 Enter Number of Managed System.   (q to quit): 3
 ----------------------------------------------------------
  Partitions On Managed System:  Server-9119-595-3-SN836830F
  OS/400 Partitions not listed
 ----------------------------------------------------------
   1)    oradbt303                            Running
   2)    oradbd303                            Running
   3)    oradbf303                            Running
   4)    oradbp305                            Running
   5)    cwsdbf1                              Running
   6)    cwswlf1                              Running
   7)    cstpa6                               Running
   8)    tsm2-test62                          Running
   9)    cstpa5                               Running
   10)   cstpa4                               Running
   11)   cwswlt1                              Running
   12)   cwswld1                              Running
   13)   cwsdbt1                              Running
   14)   cwsdbd1                              Running
   15)   epmd1                                Running
   16)   docprss                              Running
   17)   b38plm                               Running
   18)   cwswlt2                              Running
   19)   docprcs                              Running
   20)   cstqa4                               Running
   21)   notes308                             Running
   22)   docpras                              Running
   23)   oraclet1                             Running
   24)   dsuat                                Running
   25)   rpmprodapp                           Running
   26)   iaswebt1                             Running
   27)   cwsoidf1                             Running
   28)   notes316                             Running
   29)   docpjd                               Not Activated
   30)   B0038-VIOS2SD                        Running
   31)   cstpsq                               Running
   32)   cwsdbt2                              Running
   33)   oradbp309                            Running
   34)   cstpjd                               Running
   35)   crmmodapp                            Running
   36)   crmdevapp                            Running
   37)   B0038-VIOS1SD                        Running
   38)   cstqa3                               Running
   39)   cstqa2                               Running
   40)   cstqa1                               Running
   41)   epmts1                               Running
   42)   tsm2-lpar1                           Running
   43)   hamspdb                              Running
   44)   cstpqa                               Running
   45)   notes319                             Running
   46)   notes304                             Running
   47)   hsgprodapp                           Running
   48)   B0038-VIOS2E                         Running
   49)   B0038-VIOS1E                         Running
   50)   B0038-VIOS2SP                        Running
   51)   B0038-VIOS1SP                        Running
   52)   epmtm                                Running
 Enter Number of Running Partition (q to quit): 51
51
    Opening Virtual Terminal On Partition B0038-VIOS1SP . . .
 Open in progress
 Open Completed.
  IBM Virtual I/O Server
                 login: padmin
Check available interface (en17 in this example)
# oem_setup_env
# lsdev -Ccif 
# exit 
$ shutdown
y
on HMC
activate with novirt profile
log backin to vio server via vtmenu screen (already open)
login: padmin
padmin's Password:
Last unsuccessful login: Wed Jul 21 14:30:36 2010 on /dev/vty0
Last login: Wed Jul 21 14:32:29 2010 on /dev/vty0
$ ioslevel (to check to fix pack 22)
# oem_setup_env
# ping b0045nim (to prove you can't)
Find unused IP address for use in chdev 
# chdev -l en17 -anetaddr=10.87.48.75 -anetmask=255.255.240.0 -astate=up
en17 changed
# ifconfig -a
en17: flags=1e080863,480
        inet 10.84.48.253 netmask 0xfffff000 broadcast 10.84.63.255
         tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1
lo0: flags=e08084b
        inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255
        inet6 ::1/0
         tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1
# ping b0045nim
PING b0045nim (10.84.48.58): 56 data bytes
64 bytes from 10.84.48.58: icmp_seq=0 ttl=255 time=0 ms
64 bytes from 10.84.48.58: icmp_seq=1 ttl=255 time=0 ms
# lsdev -Ccif (shows en17)
# exit
$ updateios -commit   (to commit everthing to this point in time)
On NIM
# vi /etc/exports (export/dsl to contain vios1e / 2e)
# exportfs -av
edit /etc/hosts to add new ip just created on en17 above and comment out current ip
On VIO
$ mount b0045nim:/export/dsl/os/vios/VIOS2.1/VIOS2.1.3.10_FP23 /mnt
$ updateios -accept -install -dev /mnt
y (Providing there is enough space)
wait for upgrade - approximately 1 hour
license -accept    (to accept the new license)
ioslevel (fix pack 23)
oem_setup_env
oslevel -s  (probably only 6100-04  due to down level language packs)
instfix -ic | grep ":-:"
de-install down levels:-
instfix -ic | grep ':-:'| grep -vi EN_US| awk -F: '{print $2}'| xargs -i installp -ug {}
10-15 mins
oslevel -s  (to check it has now come upto 6100-05)
instfix -ic | grep ":-:"  (just to check no down levels exist)
unmount /mnt
ifconfig en17 down
ifconfig en17 detach
rmdev -dl en17
rmdev -dl et17
rmdev -dl ent17
exit
padmin
shutdown
y
On NIM
change ip in /etc/hosts  for VIO to original one
When it has shut down bring up with normal profile
HMC
operations
activate
normal
to exit vtmenu
~.